- 博客(3)
- 收藏
- 关注
原创 易错点:函数使用指针进行值的交换
对于函数的局部赋值,应当对指针/数组的内存(值)进行赋值操作,而不是指向进行操作,否则只是地址改变,但内存不变,值还是原来的那个值。其中,数组a的生存期是到程序结束,在程序运行期间,数组a一直不会被释放。同样不会释放的,还有指针(本质是地址值不会释放)类似的,对地址q进行内存空间(值)的改变,而不是地址的(指向)改变,才可实现赋值。这个例子中,函数中,只是形参&a,&b交换了地址,但实参a,b的值并没有改变。先看一个例子://交换数字。
2024-06-14 21:03:06 494
原创 *(p++), *(++p), ++(*p), (*p)++的用法详解
一、++p(或p++)的指针操作后取值二、++(*p), (*p)++是对p的取值进行数值操作
2024-05-25 16:47:14 429
原创 学习笔记:scanf的缓冲区机制(超详解)以及getchar的吸收用法和注意事项
上一次的scanf的有效空白字符会留在缓冲区里,新的scanf输入会覆盖缓冲区,其新的有效输入后的有效空白字符会留在缓冲区里,故连续使用scanf时,只需在最后一个scanf后吸收即可。
2024-05-24 20:32:59 1624 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人