野指针。。

本文探讨了C语言中指针初始化的重要性,强调未初始化指针可能导致的随机内存访问和系统不稳定。通过示例展示了如`*p=a;`这样的语句并非指针初始化,并解释了为何`int *p; *p=a;`这样的代码会报错。同时,文章还分析了一个错误的函数例子,其中局部指针未初始化就进行值交换,进一步阐述了指针初始化的必要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例1:

关于 *p=a,*p代表一个值,a也是一个值,所以这条语句是没有问题的。但是这样并不是给指针初始化!!!

*p=a;


单独一条语句没有错误。
!!!注意错误!!!

int a = 10;
int *p;
*p = a;


这样写会报错,原因是没有对指针进行初始化,int *p后,p指向的是一个随机的地址,那么这个地址上储存的值也是随机的,我们不能随意修改其值。否则有会造成系统紊乱。

wap( int *p1,int *p2 )

{

int  *p;

*p = *p1;

*p1 = *p2;

*p2 = *p;

}

上述函数执行会有很严重的错误,p指针没有初始化,指向的地址是未知的,如果强行为p指向的地址赋值,可能会出现严重错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值