Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过指针访问结构变量 #包括 #包括 #包括 typedef结构阳节点 { int mv1、mv2、mv3; }男性; typedef结构电影名称 { char-mvnm[20]; 结构雄性*ml; }电影; main() { 电影mov1; mov1.ml=(男性*)malloc(sizeof(男性)); mov1.(*ml).mv1=1;//错误 mov1.ml->mv1=1;//错误 }_C_Pointers_Structure - Fatal编程技术网

通过指针访问结构变量 #包括 #包括 #包括 typedef结构阳节点 { int mv1、mv2、mv3; }男性; typedef结构电影名称 { char-mvnm[20]; 结构雄性*ml; }电影; main() { 电影mov1; mov1.ml=(男性*)malloc(sizeof(男性)); mov1.(*ml).mv1=1;//错误 mov1.ml->mv1=1;//错误 }

通过指针访问结构变量 #包括 #包括 #包括 typedef结构阳节点 { int mv1、mv2、mv3; }男性; typedef结构电影名称 { char-mvnm[20]; 结构雄性*ml; }电影; main() { 电影mov1; mov1.ml=(男性*)malloc(sizeof(男性)); mov1.(*ml).mv1=1;//错误 mov1.ml->mv1=1;//错误 },c,pointers,structure,C,Pointers,Structure,如何通过mov1和ml访问mv1变量 我试图通过ml访问mv1,ml是指向结构的指针,该结构又是一个结构变量,但它显示错误。这看起来是错误的: #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];

如何通过mov1和ml访问mv1变量 我试图通过ml访问mv1,ml是指向结构的指针,该结构又是一个结构变量,但它显示错误。

这看起来是错误的:

#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
}
您已经使用
typedef
male
定义为
struct-male\u节点
,因此说
struct-male
没有意义。相反,请尝试以下方法:

struct male *ml;
这将解决您的问题,您应该能够做到:

typedef struct movie_name
{
    char mvnm[20];
    male *ml;
} movie;

你能告诉我返回了什么错误吗?我知道你不必在
main
前面加
int
,但当我看到它丢失时,我会很伤心。现代C真的允许省略返回类型吗?@RobK:不,现在需要了。谢谢。其实我没有注意到。它现在可以正常工作了
(*mov1.ml).mv1=1
mov1.ml->mv1=1;