gpt4 book ai didi

c - C 中通过 malloc 调用分配的字节数

转载 作者:行者123 更新时间:2023-11-30 18:58:10 24 4
gpt4 key购买 nike

#include<stdio.h>
#include<stdlib.h>
#define MAXROW 3
#define MAXCOL 23
int main(){
int (*p)[MAXCOL];
p = (int (*) [MAXCOL])malloc(MAXROW *sizeof(*p));
return 0;
}

我需要知道将为以下代码(对于此 p)分配多少字节。另外,如果大小不同,malloc 之前的转换是否会添加/释放在 malloc 中分配的字节?

谢谢。

最佳答案

sizeof(*p)MAXCOL int 数组的大小,或 MAXCOL * sizeof(int) .

因此,您提供的 malloc 调用将分配 MAXROW * MAXCOL * sizeof(int) 字节。

关于强制转换:它不会影响 malloc 调用分配的字节数。事实上,这是完全没有必要的(在这种情况下没有任何效果),最好不要这样做。

关于c - C 中通过 malloc 调用分配的字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17923478/

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