c语言指针陷阱,C语言指针及陷阱

这篇博客探讨了C语言编程中关于指针的一些常见陷阱,包括函数形参指针传递值的过程和在函数中改变形参指向地址的问题。通过实例分析,揭示了形参是地址参数副本的概念,并强调了在函数中改变形参地址可能导致的数据无法传递的情况。
摘要由CSDN通过智能技术生成

写这一篇博客的主要目的是记录在C语言编程的过程中,碰到的一些奇怪的关于指针的问题,通过对指针这一C语言特色变量的研究,为以后编写更为稳定的程序打下良好的基础,主要介绍了指针在函数值传递、地址转换等方面的相关陷阱!

一、指针变量&函数形参

1.首先如下所示为基本的函数形参指针传递值过程:

1 #include

2 #include

3

4 int point(int *val){5 printf("Address Of ParamA=%x",val); //Print the param val's address.

6 *val = 10; //Change the value of val var.

7 }8 int main(void)9 {10 int A = 1;11 printf("A=%d Address=%x",A,&A); //Print the val and the Address of A.

12 point(&A);13 printf("A'=%d Address'=%x",A,&A); //Print the val and the Address of A.

14 }

如下所示为运行的结果:

e5422f615feebfdb35d1a37f2ef32744.png

val的地址应该是&val,而函数中打印的是val地址中的内容,也

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值