“结构体变量”与“结构体变量成员”的地址-创新互联

“&student1.num"和“&student1”的区别
#includestruct AGE
{int year ;
    int month ;
    int day ;
};

struct STUDENT
{char name[20] ;
    int num ;
    struct AGE birthday ;
    float score ;
};

int main (void)
{struct STUDENT student1 = {"小明",1207041 , {1989 , 3 , 29} , 100 };
    printf("name:%s\n",student1.name ) ;
    printf("borthday:%d-%d-%d\n",student1.birthday.year , student1.birthday.month , student1.birthday.day ) ;
    printf("num:%d\n",student1.num) ;
    printf("score:%.1f\n",student1.score);
        return 0;
}

创新互联服务项目包括潮南网站建设、潮南网站制作、潮南网页制作以及潮南网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,潮南网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到潮南省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!“&student1.num"和“&student1”

前者表示student1.num这个成员在内存中的首地址,后者表示结构体student1在内存中的首地址。

在C语言中,结构体变量的首地址就是结构体第一个成员的首地址。

所以&student1就等价于第一个成员name的首地址,而name是一个数组,数组名表示的就是数组的首地址。

所以&student1和student1.name是等价的

但要注意的是,它们的等价仅仅是“它们表示的是同一个内存空间的地址”,但他们的类型是不一样的,前者是struct STUDENT型;后者是char

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:“结构体变量”与“结构体变量成员”的地址-创新互联
转载来于:http://pwwzsj.com/article/dceooh.html