/*指针和字符串的联系和区别*/
#include <stdio.h>
int main()
{
const char *mesg = "Don't be a fool!"; //指针形式定义一个字符串
const char *copy;
copy = mesg;
printf("%s\n", copy);
printf("mesg = %s; &mesg = %p; value = %p\n", mesg, &mesg, mesg);
//分别代表指针所指的字符串、指针变量的存储地址、指针的值
printf("copy = %s; © = %p; copy = %p\n", copy, ©, copy);
//同上
return 0;
}
Don't be a fool!
mesg = Don't be a fool!; &mesg = 000000000061FE10; value = 0000000000404000
copy = Don't be a fool!; © = 000000000061FE18; copy = 0000000000404000
由输出结果可知:字符串指针的赋值,只是将mesg的值给了copy,并没有复制字符串。也即两个指针指向同一个字符串,另外也可以看出,在内存中,两个指针是连续存储的