相关疑难解决方法(0)

通过指针算法计算数组长度

我想知道它*(&array + 1)是如何工作的.我认为这是一种计算数组长度的简单方法,并希望在使用之前正确理解它.我对指针算法不是很熟悉,但是我的理解 &array给出了数组第一个元素的地址.(&array + 1)会在地址方面转到数组的末尾.但是不应该*(&array + 1)给出这个地址的价值.相反,它打印出地址.我真的很感谢你的帮助,让我的脑袋里的指针清晰.

这是我正在研究的一个简单例子:

int numbers[] = {5,8,9,3,4,6,1};
int length = *(&numbers + 1) - numbers;
Run Code Online (Sandbox Code Playgroud)

c c++ arrays pointers pointer-arithmetic

9
推荐指数
2
解决办法
331
查看次数

标签 统计

arrays ×1

c ×1

c++ ×1

pointer-arithmetic ×1

pointers ×1