c - array 和 &array[0] 的区别

标签 c pointers

int array[] = {1,2,3,4};

据我了解,array 只是指向 &array[0] 的指针>

但是 sizeof(array); 怎么知道数组的大小,而不仅仅是它只有 4 个字节的数字?

最佳答案

尽管数组名在某些上下文中确实成为指向其初始成员的指针(例如将数组传递给函数),但数组名指的是整个数组,而不仅仅是指向初始成员。

这体现在通过 sizeof 运算符获取数组的大小。

关于c - array 和 &array[0] 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33035068/

相关文章:

c - 成功打开后文件描述符错误

python - 基于列表的Python注释C定义

c++ - 指向索引处 vector 的指针与迭代器

c - 在C语言中,const变量可以通过指针修改吗?

c++ - 在不同类中使用和设置静态函数指针

C - 修改了 2 个二维字符数组

c - 为什么 GDB 不显示导致段错误的函数地址

c - 链接代码::阻止自定义库错误(找不到)

c - 创建二叉树的指针问题

c++ - 我在这里做错了什么?使用指向函数 typedef 的指针定义类。