思考题2
题目链接
思考题:C语言哪里不安全,不严谨?
首先,C语言在编译过程中不对数组下标的边界做检查,所以即使出现了下标越界的问题,C语言也不会报错。由于越界内存的内容未知,就可能造成数据的丢失或者混乱,所以数据的安全性降低了。
还有指针的使用。如果指针是个野指针,也会指向未知的内存,如果对野指针进行数据的操作也可能造成数据的丢失和奇怪数据的输出。
有时候因为数组不够大和输入函数的使用的问题,字符型数组中没有‘\0’,但是依然不会报错,输出的时候就可能产生无限输出的问题,所以不够严谨。