| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1487 人关注过本帖
标题:想请教一下结构变量的存储方式
只看楼主 加入收藏
卡卡3315
Rank: 1
等 级:新手上路
帖 子:11
专家分:8
注 册:2019-6-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
想请教一下结构变量的存储方式
已经知道了结构是对齐存储的,那么结构变量的名字存在哪里了?如果对结构变量取地址的话应该是取得哪一个地址?
举个例子:
#include<stdio.h>
struct date{
    int year;
    int month;
    int day;
};
int main(int argc,const char *argv[])
{
    date today = {2019,2,3};
    printf("%d %d %d",today.day,today.month,today.year);
    return 0;
}
如果取&today,应该指向哪里?
另外我在main里面定义today时没有加struct为什么也能通过编译而且运行正常?
搜索更多相关主题的帖子: 变量 int 存储 main 结构 
2020-03-22 18:06
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
收藏
得分:7 
指向的是自定义的一个联合体

2020-03-22 18:20
return_0
Rank: 8Rank: 8
来 自:五维空间
等 级:禁止访问
威 望:3
帖 子:512
专家分:838
注 册:2020-1-28
收藏
得分:0 
他们是和在一起储存的

2020-03-22 18:23
forever74
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:CC
等 级:版主
威 望:58
帖 子:1689
专家分:4262
注 册:2007-12-27
收藏
得分:7 
一般来说,从数值(地址值)上看,忽略其他,
&today 和 &today.year 应该是一致的

你编译能成功是因为你的编译器运行在C++模式。


[此贴子已经被作者于2020-3-22 21:16编辑过]


对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2020-03-22 21:15
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:7 
变量名存哪里?
变量名不存
变量名只是一个给编译器看的符号
编译器把这个符号和内存关联起来
对变量的读写 映射为对相应内存的读写
然后就木有了

备注 我知道全局符号有存 没必要讨论 略

https://zh.
2020-03-22 21:33
卡卡3315
Rank: 1
等 级:新手上路
帖 子:11
专家分:8
注 册:2019-6-24
收藏
得分:0 
回复 5楼 lin5161678
感谢
2020-03-23 10:19
maomao12345
Rank: 2
来 自:五位神奇空间
等 级:禁止访问
威 望:2
帖 子:127
专家分:64
注 册:2020-3-23
收藏
得分:0 
变量名只是区分变量的符号

一个快乐的小小孩
2020-03-24 09:46
快速回复:想请教一下结构变量的存储方式
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015834 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved