<分区>
我使用以下代码行使用 malloc 创建了一个数组:
int* array = (int*)malloc(12*sizeof(int));
我尝试通过以下方式获取尺寸:
int size = sizeof(array)/sizeof(int);
但是这会返回 2,而不是 12(我知道 sizeof(array[0] 更通用。) 令人困惑的是(对我来说),当我使用
创建数组时int array[12]
上面的代码行返回正确的尺寸:12。
此外,我可以用 12 个整数填充 int* 数组而不会出现段错误,我不明白大小是否为 2。
有人可以告诉我我做错了什么/ 如何在 c 中使用 malloc 获取初始化数组的大小?
抱歉,如果这是基本的,我环顾四周,找不到答案。
感谢您的宝贵时间。