C语言中指针与数组注意地方

今天主要讲解一个我做了这么久开发也会出现的一个问题,还是一个同事提醒了我。所以分享给大家。

大家先看一下下面这个图片,有没有发现问题呢?


 一开始我以为两个SPI_Data_Out是没有区别的。都是指针,一个是常量,一个是变量而已。没有太在意。如果有人单看SPI_Data_Out[0]这个有问题的话我觉得你C语言跟我一样差。相对于这两个指针而言这个数组操作没有问题。

但问题出在哪呢?就是那一长串的字符串。把这些一结合就产生了各种问题(程序跑飞)。就好像一些菜一样,单吃没有问题,但放在一起就有问题了。

也许有人已经想到了。如果用的是数组定义,那么这个字符串存在栈中,但如果用指针定义的话,这个字符串存储在常量区,常量区里的数据是不可以改变的。而栈中的可以的。

调试好久才找到。。。。。。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值