#include<stdio.h>
int main()
{
char p[] = "abc";
char b[] = "abc";
char *p1 = "abc";
char *p2 = "abc";
if (p == b)
{
printf("1\n");
}
if (p1 == p2)
{
printf("2\n");
}
printf("%p\n%p\n", p1, p2);
}
这段代码的输出结果为:2
原因 :定义两个字符数组占用不同的内存空间,定义字符串常量时,p1 和 p2 指向相同的内存空间。
本文通过一个简单的C语言示例程序解释了字符串常量与字符数组之间的区别,以及如何使用指针来引用字符串。演示了当比较字符串常量时,由于它们共享同一内存空间而导致的比较结果。

2万+

被折叠的 条评论
为什么被折叠?



