gpt4 book ai didi

c - 访问结构成员时返回字节,打印结构变量地址时发生段错误

转载 作者:太空宇宙 更新时间:2023-11-04 07:51:44 25 4
gpt4 key购买 nike

<分区>

我创建了一个 struct 并将一个指针变量分配给该结构。当我尝试打印该变量的地址时,它打印正确。使用此 pointer 结构变量为结构的成员之一赋值后,当我尝试打印 pointer 变量的地址时,我得到了 段错误

#include <stdio.h>

typedef struct node {
char mem;
double mem2;
char mem3;
int mem4;
char mem5;
char mem6;
}NODE;
int main()
{
NODE * m;
printf("%u",&m);

return 0;
}

我得到的输出为 3014616488。当我将变量分配给其中一个结构成员时,

#include <stdio.h>

typedef struct node {
char mem;
double mem2;
char mem3;
int mem4;
char mem5;
char mem6;
}NODE;
int main()
{
NODE * m;
m->mem3 = 'A';
printf("%u",&m);

return 0;
}

我遇到了段错误。当我这样做的时候

#include <stdio.h>

typedef struct node {
char mem;
double mem2;
char mem3;
int mem4;
char mem5;
char mem6;
}NODE;
int main()
{
NODE * m;
printf("%u",&m->mem3);

return 0;
}

我得到 16 作为输出。我不知道16是怎么来的。这真的让我很费解。请任何人帮助我了解到底发生了什么。提前致谢

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com