gpt4 book ai didi

c++ - 指针行为怪异

转载 作者:行者123 更新时间:2023-11-27 22:55:01 25 4
gpt4 key购买 nike

请注意,我们将此作为学校练习题,不确定我是否会在现实生活中使用它。

所以这有效:

int main(){

int *** niz[6];

**niz[0] = new int(6);

cout << ***niz[0];

}

但这不是:

int main(){

int **** niz[6];

***niz[0] = new int(6);

cout << ****niz[0];

}

它会产生段。过错。为什么会这样,星星匹配?

但是

最佳答案

您没有将有效地址插入到您的数组中,因此两者都是未定义的行为,即。在 gcc 下运行良好,但在 clang 下导致段错误。要使其运行,您需要插入真实地址:

int main(){
int * niz1 = new int(6);
int ** niz2 = &niz1;
int *** niz3 = &niz2 ;

int **** niz[6];

niz[0] = &niz3;

std::cout << ****niz[0];
}

哇哦,这是我第一次编写四级指针

关于c++ - 指针行为怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33925298/

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