#include <iostream>
using namespace std;
char* FunA()
{
char a[] = "Hello Word!";//a在栈区,Hello Word!存放在数组a所在的栈区
return a; //当返回数组a的地址是Hello Word!会被销毁,返回指向一块内容为空的值
}
char* FunB()
{
char *a = "Hello Word!";//Hello Word!在常量区,a在栈区,a是指向常量区Hello Word!的指针
return a;//返回一个指向Hello Word!常量的指针;函数调用结束后常量区的Hello Word!并不会被销毁
}
int* FunC()
{
int *a;
*a = 123;//编译失败,a未初始化
return a;
}
int main()
{
char *q = FunA();
char *p = FunB();
int *b = FunC();
printf_s("%s\n", q);
printf_s("%s\n", p);
printf_s("%d\n", b);
system("pause");
return 0;
}
using namespace std;
char* FunA()
{
char a[] = "Hello Word!";//a在栈区,Hello Word!存放在数组a所在的栈区
return a; //当返回数组a的地址是Hello Word!会被销毁,返回指向一块内容为空的值
}
char* FunB()
{
char *a = "Hello Word!";//Hello Word!在常量区,a在栈区,a是指向常量区Hello Word!的指针
return a;//返回一个指向Hello Word!常量的指针;函数调用结束后常量区的Hello Word!并不会被销毁
}
int* FunC()
{
int *a;
*a = 123;//编译失败,a未初始化
return a;
}
int main()
{
char *q = FunA();
char *p = FunB();
int *b = FunC();
printf_s("%s\n", q);
printf_s("%s\n", p);
printf_s("%d\n", b);
system("pause");
return 0;
}