小白求助!!C语言动态内存分配问题
int main(void){char s[] = "bbbbb";
int size = sizeof(s) / sizeof(s);
// int *parr = (int *) calloc(3, 4);
int *parr = (int *) malloc(20);
printf("%d\n", sizeof (parr));
return 0;
}
在进行动态内存分配的时候,使用malloc和calloc进行太分配无论怎么修改两个函数里的参数,使用sizeof(parr)测试parr的大小,一直显示是8字节,不明白为什么会出现这样的错误
因为 malloc/calloc 返回的是固定大小的指针,和分配的空间大小无关 dolly_yos2 发表于 2023-2-25 00:01
因为 malloc/calloc 返回的是固定大小的指针,和分配的空间大小无关
阿对,想起来了,我一直想着是8个字节,是两个int类型的,忘记了我的电脑是64位,地址就应该是8字节,我说咋一直不对呢
页:
[1]