二级指针与指针数组
如char *str[]={"abc d"};
char **p;
p=str;
为什么不能printf("%s",p);将其打印出来,只能通过for(i=0;i<5;i++) printf("%c",*(*p+i)); printf中的 %s要求輸入的是string格式,也就是一直提著的char* 格式,p是char**,一個要求char*,一個輸入char**,掛掉是必然
*(*p+i) 這個其實相當混亂
其意義跟*(p+i),p變成char*(輸入Index等同降級),char* + int ->char*(因為指標是long),再dereference變成char,和%c要求的char吻合
页:
[1]