指向结构体成员的指针

发布于 2024-11-05 08:05:32 字数 310 浏览 0 评论 0原文

我正在尝试编写一个C程序。我需要变量“recq”的地址。有人可以帮我解决这个问题吗?

typedef struct {  
    int recq;  
} dd;  


struct test {  
    dd a;  
};

main(){  
    struct test *mm;  
    mm=(struct test *) malloc (sizeof (struct test));    
    ss=&(mm->a.recq);    
    printf("%p",ss);    

}      

I am trying to write a C program. I need the address of variable "recq". Can someone pls help me figure that out?

typedef struct {  
    int recq;  
} dd;  


struct test {  
    dd a;  
};

main(){  
    struct test *mm;  
    mm=(struct test *) malloc (sizeof (struct test));    
    ss=&(mm->a.recq);    
    printf("%p",ss);    

}      

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

风尘浪孓 2024-11-12 08:05:32

除了需要声明 ss 变量之外,您所拥有的看起来不错:

int *ss;

What you have looks good except you need to declare the ss variable:

int *ss;
陪我终i 2024-11-12 08:05:32

您所需的程序是,

#include<stdio.h>

typedef struct {
    int recq;  
} dd;  

struct test {  
    dd a;  
};

void main(void){
    struct test mm;
    printf("%p", &mm.a.recq);
} 

Your required program is,

#include<stdio.h>

typedef struct {
    int recq;  
} dd;  

struct test {  
    dd a;  
};

void main(void){
    struct test mm;
    printf("%p", &mm.a.recq);
} 
别在捏我脸啦 2024-11-12 08:05:32

首先,您需要将 ss 声明为“int *”,或者使用强制转换
我认为你的其余代码是正确的。

First of all, you need to declare ss as "int * " , or use cast whatever
the rest of your code is right, I think.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文