gpt4 book ai didi

c - int arr; 的定义有什么区别吗?和 int arr[1];

转载 作者:行者123 更新时间:2023-11-30 17:26:14 25 4
gpt4 key购买 nike

我只是想知道,定义 int arr;int arr[1]; 之间有什么区别(除了访问之外,我知道我们需要以 arrarr[0] 的形式访问)。据我所知,两者都分配相同大小的内存(sizeof(int))。关于这些分配还有其他细节吗?

最佳答案

int arr;

这里arr是一个int类型的变量。sizeof(arr)将返回整数的大小。

int arr[1];

这里arr是一个int类型的数组,它可以保存int类型的元素。在这种情况下,它只能容纳一个整数元素。sizeof(arr[0]) 将返回数组的第一个元素的大小,该元素是一个整数。

对于局部变量和数组,内存都是在堆栈上分配的。

关于c - int arr; 的定义有什么区别吗?和 int arr[1];,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26838366/

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