gpt4 book ai didi

c - C语言查找结构体中的元素

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:33 25 4
gpt4 key购买 nike

是否可以确定库中结构(C 语言)中的元素(名称和数据类型)?如果是,如何用 C 语言实现?如果C语言不支持,是否可以通过其他技巧获取结构元素,或者有什么工具可以实现吗?

最佳答案

你的意思是在编程时发现,还是在运行时动态发现?

对于前者,当然。只需找到您要包含的 .h 文件,您就会在其中找到包含所有字段的结构定义。

对于后者,不,不可能。 C 以丢失所有这些信息的方式将结构编译为机器代码。例如,如果您有一个结构 {int x, float y, int z},并且您有一些代码表示

a = mystruct.y

在机器代码中,剩下的就是找到指向 mystruct 的指针,向其添加 4(int 的大小),然后从那里读取 4 个字节,然后执行一些操作对其进行浮点运算。根本无法访问这些结构字段的名称和类型,因此无法在运行时找到它们。

关于c - C语言查找结构体中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4689295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com