我不知道如何使用指针为C中的结构添加多个值。这是我的代码,gcc错误是:
错误:分配给数组类型为
(p+0)->name = "Teszt";
的表达式
#include <stdio.h>
typedef struct{
char name[101];
int born_in;
} paciens;
int main(){
paciens *p;
int n = 5;
p = (paciens*) malloc(n * sizeof(paciens));
(p+0)->name = "Test";
(p+0)->born_in = 1992;
printf("Name: %s ; Born in: %d\n", (p+0)->name, (p+0)->born_in);
return 0;
}
答案 0 :(得分:1)
您不能分配给数组,但可以分配给包含数组的struct
:
p[0] = (paciens) { .name = "Test", .born_in = 1992};
将执行此操作。这称为复合文字。
还请注意,您为#include <stdlib.h>
忘记了malloc
。
答案 1 :(得分:0)