#include “stdio.h”
#include “stdlib.h”
#include “string.h”
char* getStr1()
{
char p1=“adfjlkd”;
return p1;
}
char getStr2()
{
char p2=“adfjlkd”;//编译器会优化内存,不再重新分配另外内存
return p2;
}
void main()
{
charp1=NULL;
char*p2=NULL;
p1=getStr1();
p2=getStr2();
printf (“p1:%s,p2:%s\n”,p1,p2);//指向的地址的内容一样,输出字符开始到结束的字符串adfjlkd
printf (“p1:%d,p2:%d\n”,*p1,*p2);//输出的是地址的内容的a的ASCII码十进制97
printf (“p1:%d,p2:%d\n”,p1,p2);//p1与p2指向的地址结果一样4325404
}