这是我在程序中遇到的错误:
[Error] cannot convert 'struct(*)[5] ' to 'struct* {aka Contact*}' in assignment
当我尝试这样做时:
typedef struct Contact{
char FName[];
char LName[];
} cont;
cont AddressBook[SIZE];
int main(){
cont *adbook = (cont *)calloc (SIZE, sizeof(cont));
adbook=&AddressBook
}
如何将我的结构数组的地址分配给我的指针???
希望您能够帮助我 .
1 回答
当我们声明数组时,它的变量名实际上已经是指向它的地址的指针 .
所以当你表演时
这就像是指向指向AddressBook的指针的地址 . 这是无效的分配 . (有点像将指针指向指针(**)指向单个指针(*)) .
这可以通过在分配指针时删除“&”运算符来轻松解决 . 进行中 :
这只是意味着“指向AdressBook的位置 .
快乐的编码!