出于调试目的,我发现显示数据结构的内容很有用.(例如,在Python中,我只是"打印some_dict_name").
这可以通过使用标准库在C中实现,或者我是否必须根据数据结构自行实现?
考虑以下代码,我必须再次遍历StructArray以显示其所有内容.
#include <stdio.h>
struct SomeStruct {
int id;
};
int main() {
struct SomeStruct StructArray[10];
int x = 0;
for (x = 0; x < 10; x++) {
StructArray[x].id = x;
}
for (x = 0; x < 10; x++) {
printf("StructArray[%d].id = %d\n", x, StructArray[x].id);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您需要根据数据类型自行实现它.
C没有类型系统,您可以动态或静态地访问每种类型的每个部分.
如果您正在使用像gdb这样的东西进行实时调试,它的智能足以读取调试信息和打印类型内容.但是你不能从程序本身那里做到这一点,没有对C类型进行内省的事情.
| 归档时间: |
|
| 查看次数: |
2992 次 |
| 最近记录: |