【发布时间】:2015-11-25 22:24:51
【问题描述】:
我正在尝试创建一个存储邮政编码的结构,但我收到此错误:“c:15:11: error: assignment to expression with array type h->array = malloc(sizeof(PostalCode)*size);"
#include <stdio.h>
#include <stdlib.h>
typedef struct PostalCode
{
int size;
char *array[5];
} PostalCode;
void main()
{
int size = 5;
PostalCode *h = malloc(sizeof(PostalCode));
h->size = size;
h->array = malloc(sizeof(PostalCode)*size);
}
【问题讨论】:
-
既然
array是一个指向字符的指针数组,而不是PostalCode,那你为什么要在分配时乘以sizeof(PostalCode) * size呢?