指向struct成员的指针

时间:2011-05-05 06:14:18

标签: c pointers struct

我正在尝试编写一个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);    

}      

3 个答案:

答案 0 :(得分:5)

除了需要声明ss变量外,你看起来还不错:

int *ss;

答案 1 :(得分:0)

首先,您需要将ss声明为“int *”,或者使用cast 我认为你的其余代码是对的。

答案 2 :(得分:0)

您需要的程序是,

#include<stdio.h>

typedef struct {
    int recq;  
} dd;  

struct test {  
    dd a;  
};

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