c语言用指针定义字符串常量问题
我看资料不是说使用指针定义字符串常量时,如果字符串常量相同时,指针指向的地址也是同一个内存地址。但是下面的程序我运行之后,结果并不是相同的地址。#include<stdi...
我看资料不是说使用指针定义字符串常量时,如果字符串常量相同时,指针指向的地址也是同一个内存地址。但是下面的程序我运行之后,结果并不是相同的地址。
#include <stdio.h>
int main()
{
char *nam1="hello";
char *nam2="hello";
char *nam3="hello";
printf("%p\n%p\n%p\n",&nam1,&nam2,&nam3);
return 0;
}
结果
0x7fff4feb9c38
0x7fff4feb9c30
0x7fff4feb9c28 展开
#include <stdio.h>
int main()
{
char *nam1="hello";
char *nam2="hello";
char *nam3="hello";
printf("%p\n%p\n%p\n",&nam1,&nam2,&nam3);
return 0;
}
结果
0x7fff4feb9c38
0x7fff4feb9c30
0x7fff4feb9c28 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询