I am learning C language now and I do not know why an error occurred. Can someone help?
#include <stdio.h>
#include <stdlib.h>
int main() {
struct TestData {
int * a;
};
struct TestData * p1 = (struct TestData *)malloc(sizeof(struct TestData));
void Data(struct TestData * addstruct) {
int b;
addstruct->a = &b;
}//Here are two errors, error code:C2601, E0065
Data(p1);
printf("%p", p1);
free(p1);
return 0;
}