今天主要讲解一个我做了这么久开发也会出现的一个问题,还是一个同事提醒了我。所以分享给大家。
大家先看一下下面这个图片,有没有发现问题呢?
一开始我以为两个SPI_Data_Out是没有区别的。都是指针,一个是常量,一个是变量而已。没有太在意。如果有人单看SPI_Data_Out[0]这个有问题的话我觉得你C语言跟我一样差。相对于这两个指针而言这个数组操作没有问题。
但问题出在哪呢?就是那一长串的字符串。把这些一结合就产生了各种问题(程序跑飞)。就好像一些菜一样,单吃没有问题,但放在一起就有问题了。
也许有人已经想到了。如果用的是数组定义,那么这个字符串存在栈中,但如果用指针定义的话,这个字符串存储在常量区,常量区里的数据是不可以改变的。而栈中的可以的。
调试好久才找到。。。。。。