#include<stdio.h>
#include<string.h>
#include<malloc.h>
typedef struct male_node
{
int mv1,mv2,mv3;
}male;
typedef struct movie_name
{
char mvnm[20];
struct male *ml;
}movie;
main()
{
movie mov1;
mov1.ml=(male*)malloc(sizeof(male));
mov1.(*ml).mv1=1;//ERROR
mov1.ml->mv1=1; //ERROR
}
如何通过mov1和ml访问mv1变量 我试图通过ml访问mv1,这是一个指向结构的指针,该结构又是一个结构变量,但它显示错误。
答案 0 :(得分:4)
这看起来不对:
struct male *ml;
您已使用typedef
将male
定义为struct male_node
,因此说struct male
没有意义。相反,试试这个:
typedef struct movie_name
{
char mvnm[20];
male *ml;
} movie;
这应该可以解决您的问题,您应该可以这样做:
mov1.ml->mv1=1;