首頁  >  問答  >  主體

linux - c語言這樣一個指標怎麼理解 ?

#include <stdio.h>
int main(){
    char *params[][2] = {
        {"age", "18"},
        {"name", "小明"},
        {"address", "beij"},
        {"", ""}
    };

    printf("%s\n", params[0][0]);
    return 0;
}

不太理解

巴扎黑巴扎黑2713 天前574

全部回覆(1)我來回復

  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:27:35

    每一個陣列元素都是字串。定義字串的時候要用char *,這樣理解了吧?

    當你定義一個字串的時候,用的是char *a = "test";對吧,
    那麼當你定義一個字串陣列的時候,陣列內的元素是不是應該都是char *a = "test";对吧,
    那么当你定义一个字符串数组的时候,数组内的元素是不是应该都是char *類型的。

    這是定義一個字串,你就把char *当成char當成char來看(當然這是不對的,但在這種情況下這樣會更好理解)。

    或直接這樣看,typedef char * string,那麼這個定義就變成這樣了:

    string params[][2] = {
        {"age", "18"},
        {"name", "小明"},
        {"address", "beij"},
        {"", ""}
    };

    回覆
    0
  • 取消回覆