【发布时间】:2021-02-03 08:29:58
【问题描述】:
我的结构是
typedef struct {
unsigned int size ;
int * arr ;
} array_t ;
该函数应该使用给定数字的长度初始化一个结构。
void init ( array_t * A, unsigned int size){
A = malloc(sizeof(array_t));
A->arr = calloc(size+1,sizeof(int));
A->size = size;
return;
}
但是当我在我的主函数中打印结构的大小时,我总是得到错误的数字。 如何为 size 分配正确的值或我做错了什么?
【问题讨论】:
-
您无法打印
main中分配的内存的内容,因为您根本无法访问它。您分配给函数内参数的内容保留在该函数中。您只需更改第一个参数的副本。