字符数组和字符指针、

来源:互联网 发布:javascript书籍 编辑:程序博客网 时间:2024/05/16 10:35

 char a[] = "sunxuesheng";
 char *b = "sunxuesheng";
 char c[] = "sunxuesheng";
 char *d = "sunxuesheng";

 printf("%p, %p, %p, %p\n", a, b, c, d);

 printf("%p, %p, %p, %p\n", a + 1, b + 1, c + 1, d + 1);
 
 根据输出可以看出、a和c的地址是不同的、b和d的地址是相同的、
 因为b和d是指针变量,它们同指向“sunxuesheng”这个字符串、
 而a和c不同、它们是两个字符数组,系统为它们分配了不同的地址空间,
 然后把字符串复制到该地址空间中、
 
 所以说、字符指针只是一个地址,而字符数组呢、它是实实在在的在内存中存在着、

原创粉丝点击