gpt4 book ai didi

c - int bar[10] 与 int (*bar)[10] 之间的区别

转载 作者:太空狗 更新时间:2023-10-29 15:14:20 24 4
gpt4 key购买 nike

int bar[10]; /* bar is array 10 of int, which means bar is a pointer to array 10 of int */

int (*bar)[10]; /* bar is a pointer to array 10 of int */

根据我的说法,它们都是一样的,我错了吗?请告诉我。

编辑:int *bar[10] 完全不同。

谢谢拉惹

最佳答案

它们完全不同。第一个是数组。第二个是指向数组的指针。

您在第一个 bar 声明之后的注释是绝对不正确的。第一个 bar 是一个包含 10 个 int 的数组。时期。它不是一个指针(即你的“这意味着”部分根本没有意义)。

可以这样表示:

typedef int T[10];

您的第一个 bar 类型为 T,而您的第二个 bar 类型为 T *TT * 的区别,你明白了吗?

关于c - int bar[10] 与 int (*bar)[10] 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7535044/

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