Keil5中PC-Lint9.0的数组和指针教程及常见错误分析

需积分: 31 16 下载量 151 浏览量 更新于2024-08-10 收藏 3.18MB PDF 举报
本教程主要讲解了在Keil5环境下使用PC-Lint9.0进行开发时关于数组和指针的概念以及相关的C++编程习题。首先,作者强调了数组定义的规则,指出在C++中,不能直接使用变量作为数组的维数,例如习题4.1中(a)和(b)选项因为它们分别尝试使用动态获取的buf_size和函数调用get_size()作为数组大小,这是非法的。同时,习题4.1还提到(d)选项中的字符数组st由于存储字符串"fundamental"需要12个元素,而其定义只有11个,因此也是错误的。 习题4.2探讨了数组元素的初始化情况,指出C++ Primer中定义的数组sa和sa2,由于它们的元素类型为string,会自动被赋予空字符串初始值。内置数组ia在函数外部定义时,默认初始化为0,而在函数内部定义的ia2则因其内部作用域,元素值不确定。 习题4.3中,习题解答列举了几种数组定义的错误方式,包括(b)使用vector初始化、(c)用一个数组初始化另一个数组以及(d)用vector对象初始化数组,这些都是不允许的。C++中的初始化列表仅适用于数组,而不能用于vector对象。 习题4.4则重点介绍了如何初始化数组的元素,可以使用初始化列表一次性为数组部分或全部元素赋值。但要注意的是,如果提供了数组的维度,初始化列表中的元素数量不能超过这个维度。 通过这些习题,读者可以深入理解C++中数组和指针的基础概念,以及如何正确地进行数组定义、初始化和操作。此外,章节还涵盖了C++ Primer教材的部分内容,对于学习者来说,这些习题旨在巩固理论知识并提升实践能力。在实际项目开发中,正确理解和运用数组和指针是提高代码效率和可读性的重要手段。