C中的指针和字符串

程序

#include<stdio.h>
int main(void)
{
char *mesg="Don't be a fool!";
char *copy;
copy=mesg;
printf("%s ",copy);
printf("mesg=%s;&mesg=%p;value=%p ",mesg,&mesg,mesg);
printf("copy=%s;&copy=%p;value=%p ",copy,&copy,copy);
return 0;
}

C语言中,mesg和copy两个指针本身的地址是不同的,指针的值是该指针中存放的地址,此程序中都是存放了字符串"Don't be a fool!"的地址,是相同的值。

copy指针只是指向了这个字符串的地址,并没有复制。

原文地址:https://www.cnblogs.com/heiming/p/5663800.html