字符串操作的一些陷阱,谨记!

#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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值