社区
C语言
帖子详情
结构名是什么?
nasa4836
2009-10-29 09:07:45
struct a{
...
};
struct a ex;
当出现这句话,编译器在内存中按结构中的成员类型开辟一组空间.那么这个结构名ex在内存中如何被处理? 是开辟个空间,名字叫ex?里面的值应该放什么?
...全文
364
13
打赏
收藏
结构名是什么?
struct a{ ... }; struct a ex; 当出现这句话,编译器在内存中按结构中的成员类型开辟一组空间.那么这个结构名ex在内存中如何被处理? 是开辟个空间,名字叫ex?里面的值应该放什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
phpjspasp
2009-10-31
打赏
举报
回复
[Quote=引用 12 楼 hpsmouse 的回复:]
引用 9 楼 nasa4836 的回复:
访问数组元素时,根据数组名+偏移来寻址.数组名是编译器另外开辟空间存放的.那么结构名是否有类似情况呢?上面有位说在链接时就换成地址.那对于运行过程中才创建的结构型变量呢?链接时可不知具体地址.
谁告诉你“数组名是编译器另外开辟空间存放的”?回去鄙视TA。
[/Quote]
同意
鼠
2009-10-29
打赏
举报
回复
[Quote=引用 9 楼 nasa4836 的回复:]
访问数组元素时,根据数组名+偏移来寻址.数组名是编译器另外开辟空间存放的.那么结构名是否有类似情况呢?上面有位说在链接时就换成地址.那对于运行过程中才创建的结构型变量呢?链接时可不知具体地址.
[/Quote]
谁告诉你“数组名是编译器另外开辟空间存放的”?回去鄙视TA。
arong1234
2009-10-29
打赏
举报
回复
要真理解这个,你必须学习汇编,只有学了汇编,才会知道啥叫地址。
arong1234
2009-10-29
打赏
举报
回复
动态分配的本来就不需要知道他地址,只有在分配时才需要知道。编译程序只需要知道指针变量的地址即可
[Quote=引用 9 楼 nasa4836 的回复:]
访问数组元素时,根据数组名+偏移来寻址.数组名是编译器另外开辟空间存放的.那么结构名是否有类似情况呢?上面有位说在链接时就换成地址.那对于运行过程中才创建的结构型变量呢?链接时可不知具体地址.
[/Quote]
nasa4836
2009-10-29
打赏
举报
回复
访问数组元素时,根据数组名+偏移来寻址.数组名是编译器另外开辟空间存放的.那么结构名是否有类似情况呢?上面有位说在链接时就换成地址.那对于运行过程中才创建的结构型变量呢?链接时可不知具体地址.
TADICAN
2009-10-29
打赏
举报
回复
我只想说,变量名都会被转换为一个偏移地址(以数字形式存在),然后插入到代码里面去。
鼠
2009-10-29
打赏
举报
回复
[Quote=引用 5 楼 nasa4836 的回复:]
那么数组情况呢?数组名是否被另开辟空间.名字为数组名,存放首地址元素?
[/Quote]
只有一段连续的空间,存放数组的各个元素,没有别的。
鼠
2009-10-29
打赏
举报
回复
[Quote=引用 2 楼 nasa4836 的回复:]
那如是我是这样表达:ex.a(a是其中一成员),如果说没有名字,那怎么去识别.即使没有这个结构名.也应该创造一个标记来代替吧.但这样不如直接用结构名.
[/Quote]
“不如直接用结构名”这个纯粹是你个人的美好心愿,事实上从计算机的角度看是用结构名不如用地址。不要忘了地址是一个数字,结构名是一堆数字(一切都是数字),用一个数字定位比用一堆数字定位要简单得多。
nasa4836
2009-10-29
打赏
举报
回复
[Quote=引用 4 楼 phpjspasp 的回复:]
引用 2 楼 nasa4836 的回复:
引用 1 楼 arong1234 的回复:
名字不会出现在编译后的程序中,他只是为了方便你编程,内存中是没有的。
那如是我是这样表达:ex.a(a是其中一成员),如果说没有名字,那怎么去识别.即使没有这个结构名.也应该创造一个标记来代替吧.但这样不如直接用结构名.
在链接的时候,名字都会换成逻辑地址了。ex.a也被替换成地址了。有了地址,就能访问了。
[/Quote]
那么数组情况呢?数组名是否被另开辟空间.名字为数组名,存放首地址元素?
phpjspasp
2009-10-29
打赏
举报
回复
[Quote=引用 2 楼 nasa4836 的回复:]
引用 1 楼 arong1234 的回复:
名字不会出现在编译后的程序中,他只是为了方便你编程,内存中是没有的。
那如是我是这样表达:ex.a(a是其中一成员),如果说没有名字,那怎么去识别.即使没有这个结构名.也应该创造一个标记来代替吧.但这样不如直接用结构名.
[/Quote]
在链接的时候,名字都会换成逻辑地址了。ex.a也被替换成地址了。有了地址,就能访问了。
东大坡居士
2009-10-29
打赏
举报
回复
ex代表的是一个地址,就是这个结构的首地址,取其成员就是首地址加上偏移
nasa4836
2009-10-29
打赏
举报
回复
[Quote=引用 1 楼 arong1234 的回复:]
名字不会出现在编译后的程序中,他只是为了方便你编程,内存中是没有的。
[/Quote]
那如是我是这样表达:ex.a(a是其中一成员),如果说没有名字,那怎么去识别.即使没有这个结构名.也应该创造一个标记来代替吧.但这样不如直接用结构名.
arong1234
2009-10-29
打赏
举报
回复
名字不会出现在编译后的程序中,他只是为了方便你编程,内存中是没有的。
英语句型
结构
大全.doc
英语句型
结构
大全.doc
interval_trees:Rust中间隔树数据
结构
的一种变体
介绍 这是间隔树数据
结构
的一种变体,包含此
结构
的两种类型-段-点树和点-段树。 段点树允许插入段并查询点,而点段树允许插入点并查询段。 所有操作都以O(log(tree size))复杂度运行。 这些树可以通过您要支持的操作进行参数设置,您可以使用它们来解决以下问题: 在某些点上段的总和是多少? 在某些方面,细分的结果是什么? 某段的总和是多少? 在某些细分市场中最大的优势是什么? 某段中的最小点是多少? 注意,这允许解决问题的“在线”版本-即。 细分集和查询的修改可以混合使用。 用法 请参考examples /目录。 命
名
我不确定此数据
结构
的正确
名
称是什么-我在算法类中以波兰语
名
称“ drzewoprzedziałowe”学到了该
名
称,该
名
称可以转换为“间隔树”之类的
名
称。 但是,似乎它与标准间隔树实现略有不同-我没有存储所有间隔,而是仅在节点中保留了相关数据。 (尽管,从
129-论坛管理系统源码.zip
129-论坛管理系统源码.zip
Web-Developer-Test:Web开发人员可以在其上进行开发的Web应用程序的基本
结构
我的应用程序 Web应用程序的基本
结构
,供Web开发人员开发并展示其技能。 在分叉,提交,分支,开发或完成练习时,请不要在代码中提及任何公司
名
称或个人
名
称。 相依性 节点^ 10.15.3 grunt-cli npm install -g grunt-cli 开始使用 分叉此回购 克隆您的仓库 安装依赖关系 npm i 构建应用程序并观看 grunt dev 启动应用程序和服务器 npm start 创意资产 查看./design-assets 字型 全部免费下载或包含在 (常规和ExtraLight)中 您在哪个浏览器/设备或虚拟化服务中签入了该应用程序? 您想告诉我们什么吗? 假设? 决定? 您用来开发和测试的内容是什么? 您如何看待这项测试/运动? 你喜欢什么? 有什么可以改进的? 你不喜欢什么
幼儿园:中班语言教案诗歌《家》
中班语言教案诗歌家课题
名
称家 活动过程目标1引导幼儿理解儿歌内容掌握儿歌的
结构
特点什么是什么的家?2鼓励幼儿根据儿歌提供的线索尝试初步创编儿歌的兴趣准备1背景图?2白云小鸟小羊小鱼蝴蝶每人一个?3天空
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章