求助c语言结构体结构体第一个成员地址和结构体对象的地....

2019-12-10 18:14发布

#include <stdio.h>
#include <stdlib.h>

typedef struct
{
    int mem[2];
} str_mem_ptr;

typedef struct
{
    int mem;
} str_mem_ptr2;

int main()
{
    str_mem_ptr p;
    str_mem_ptr2 p2;
    printf("%p, %p, %p ", &p, p.mem, &p.mem[0]);
    printf("%p, %p", &p2, p2.mem);
    return 0;
}

结构体第一个成员地址和结构体数组对象的地址一样,结构体第一个成员地址和结构体int对象的地址不一样, 请问这是为什么呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
minier
1楼-- · 2019-12-11 17:35
地址一样的
nanfang2000
2楼-- · 2019-12-11 18:15
cht-rtos 发表于 2019-10-5 16:19
p2.mem这个不是地址啊

数组可以当做地址来用,我一直这样用的,难道我错了?
canspider
3楼-- · 2019-12-11 22:01
nanfang2000 发表于 2019-10-6 08:53
数组可以当做地址来用,我一直这样用的,难道我错了?

因为p2.mem不是数组
MurphyZhao
4楼-- · 2019-12-11 22:53
 精彩回答 2  元偷偷看……
zhongjp85
5楼-- · 2019-12-12 02:51
p2.mem是啥&p2.mem

一周热门 更多>