我正在尝试创建一个程序,它创建一个结构的新数据类型data_t。然后,函数为堆上的新数据类型分配内存。然后我想更改数字和名称的值,我该怎么做呢?我尝试它的方式似乎不起作用:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct{
char name[32];
int number;
char checksum;
}data_t;
data_t *new_data(char *name, int number){
data_t *ptr=malloc(sizeof(data_t));
strcpy(ptr->name ,name)
(ptr->number)=number;
return ptr;
}
答案 0 :(得分:0)
您已在函数内定义了 struct 。它不存在于函数之外。因此编译器显示未知数据类型错误。
将typedef
放在函数外部。