#include <stdio.h> int main(){ char *params[][2] = { {"age", "18"}, {"name", "小明"}, {"address", "beij"}, {"", ""} }; printf("%s\n", params[0][0]); return 0; }
不太理解
每一個陣列元素都是字串。定義字串的時候要用char *,這樣理解了吧?
char *
當你定義一個字串的時候,用的是char *a = "test";對吧,那麼當你定義一個字串陣列的時候,陣列內的元素是不是應該都是char *a = "test";对吧,那么当你定义一个字符串数组的时候,数组内的元素是不是应该都是char *類型的。
char *a = "test";
這是定義一個字串,你就把char *当成char當成char來看(當然這是不對的,但在這種情況下這樣會更好理解)。
char
或直接這樣看,typedef char * string,那麼這個定義就變成這樣了:
typedef char * string
string params[][2] = { {"age", "18"}, {"name", "小明"}, {"address", "beij"}, {"", ""} };
每一個陣列元素都是字串。定義字串的時候要用
char *
,這樣理解了吧?當你定義一個字串的時候,用的是
char *a = "test";
對吧,那麼當你定義一個字串陣列的時候,陣列內的元素是不是應該都是
char *a = "test";
对吧,那么当你定义一个字符串数组的时候,数组内的元素是不是应该都是
char *
類型的。這是定義一個字串,你就把
char *
当成char
當成char
來看(當然這是不對的,但在這種情況下這樣會更好理解)。或直接這樣看,
typedef char * string
,那麼這個定義就變成這樣了: