您的位置:首页 > 其它

二维字符串数组指针的问题

2011-06-30 18:50 239 查看
char *name[2][3] = {"dalian","shangdong","guangdong","shenzhen","beijing","shenyang"};

 

对于这个数组指针name,name[0],和name[0][0] 的分析

 

**name是指向*name[0]的指针,*name[0]是指向name[0][0]的指针,所以name[0][0]是一级指针,*name[0]是二级指针,也就

 

是指针的指针,而**name则是指向*name[0] 的指针,也就是一个三级指针,指向指针的指针的指针。

 

name[0][0]是char *,自增+1的话指针增加一个sizeof(char),name[0]则是char * name[]
的指针自增+1的话指针会偏移3个

 

sizeof(char*[]
),而**name指向*name[0],自增+1与*name[0] 相同,即便宜3个sizeof(char*[]
)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐