首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于指针的+1操作的有关问题

2013-12-13 
关于指针的+1操作的问题程序如下:#include stdio.hint main(){char a[2] {1,2}printf(%p, %p\n

关于指针的+1操作的问题
程序如下:

#include <stdio.h>
int main(){
char a[2] = {'1','2'};
printf("%p, %p\n", a, a+1);//0028FF1E, 0028FF1F 相差1,这个没问题

int b[2] = {1, 2};
printf("%p, %p\n", b, b+1); //0028FF14, 0028FF18 相差4, 这个也没问题

char *c[2] = {"1111111","22222222222"};
printf("%p, %p\n", c, c+1);//0028FF0C, 0028FF10 相差4,请问怎么解释呢?

return 0;
}


这里是我不理解的:
char *c[2] = {"1111111","22222222222"};
printf("%p, %p\n", c, c+1);//0028FF0C, 0028FF10 相差4,请问怎么解释呢?

[解决办法]

//不管数组多长,这都是相差一个指针的长度的!
char *c[2] = {"1111111","22222222222"};

char *c1 = "1111111";
char *c2 = "22222222222";

热点排行