相关疑难解决方法(0)

是`*((*(&array + 1)) - 1)`可以安全地用来获取自动数组的最后一个元素吗?

假设我想获取大小未知的自动数组的最后一个元素.我知道我可以利用sizeof运算符来获取数组的大小并相应地获取最后一个元素.

使用*((*(&array + 1)) - 1)安全吗?

喜欢:

char array[SOME_SIZE] = { ... };
printf("Last element = %c", *((*(&array + 1)) - 1));
Run Code Online (Sandbox Code Playgroud)
int array[SOME_SIZE] = { ... };
printf("Last element = %d", *((*(&array + 1)) - 1));
Run Code Online (Sandbox Code Playgroud)

等等

c arrays language-lawyer

34
推荐指数
3
解决办法
1840
查看次数

标签 统计

arrays ×1

c ×1

language-lawyer ×1