c primer plus(第六版) - 10 数组和指针
自动存储类别:在函数内部声明,存储在stack中的变量。
数组长度:sizeof(days) / sizeof(day[0])
冷知识:![]()
int n = 5;
float a8[n]; // 在C99之后没问题!
P305

rain[0]是一个内含12个float元素的数组。把rain[0]看成一个整体A,那么A[0]就是首元素。可以看成5个元素:
rain[0]
rain[1]
rain[2]
rain[3]
rain[4]

有10个元素,每个元素都是一个二维数组。
许多计算机都是按字节编址的,意思是内存中的每个字节都有个编号。
如果传进来的是数组,则int sum(int ar[]); 比 int sum(int *ar)更容易阅读。
有没有想过为什么指针效率更高?因为指针表示法更接近机器语言,一些编译器在编译时能生成效率更高的代码。
10.6 P318 保护数组中的数据
传递变量时可以传值或指针,传递数组时,只能传递指针,java没有指针是怎么传递的?(或者分配足够的空间来存储原数组的副本)
const要么在最前面,要么在指针的前面。
查询:指针和多维数组和函数,P322开始
C++允许在申明数组大小时使用const整数,C却不允许。
10.8边长数组
为什么数组有变长,目前学的数组不都是固定长度的吗?
322页开始,以后再补充
文章介绍了C/C++中数组和指针的基础概念,包括在函数内部声明的栈存储、数组长度计算、指针效率提升的原因、以及数组作为函数参数的限制。还涉及了const关键字的使用和变长数组在C++中的处理。
2285

被折叠的 条评论
为什么被折叠?



