gpt4 book ai didi

pointers - Pointer Arithmetic on pointers to pointers 等

转载 作者:行者123 更新时间:2023-12-01 23:34:34 27 4
gpt4 key购买 nike

在指向指针的指针上使用指针算术是否定义明确? 例如

int a=some_value;
int* p=&a;
int**p2=&p;

现在对 p2 执行算术是否是定义明确的行为?(例如 p2+1、p2+2 等)

最佳答案

另一个答案是完全错误的:

int *p = &a;

声明一个单个指针变量(不是指针数组)。这是等效的,WRT 索引,具有单个元素的数组:

int *(array[1]) = { &a };

所以你可以做 (&array[0]) + 1array + 1,或 p + 1,因为形成一个- 尾后指针是允许的:尾后指针指向数组末尾之后的虚构元素。尾数指针不可解引用,因为它没有指向任何真实对象。

但是您不能计算任何其他指针值

特别是,p+2 无效

关于pointers - Pointer Arithmetic on pointers to pointers 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7670946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com