提问:
在android的bootloader源码目录中,发现这个文件lk/app/aboot/aboot.c
里面有一个关于结构体的定义,让我有点不太明白,哪位高手来解惑一下?
struct atag_tcc_entry
{
char output;
char resolution;
};
struct atag_tcc_entry tcc_param = {
.output = 0,
.resolution = 0,
};
我不太明白的是 为什么truct atag_tcc_entry tcc_param 后面要用一个“=”
还有,output前面为什么要用一个 “.” 点(dot),哪位解释下?
“.”是访问成员的意思。优先级同“()”。 例:"对象.成员" 或者"对象->成员"都是表示访问对象的某个成员的意思(读写成员)。也就是访问某个成员的变量。这里只是省略不写了。也可以写上atag_tcc_entry.output = 0;一样的。
追问
atag_tcc_entry.output = 0;这个你应该写错了吧? 应该是 tcc_param.output = 0;吧
回答
谢谢提醒!没错。
来自:http://zhidao.baidu.com/question/249948221.html
Android bootloader结构体解析
本文针对Android bootloader源码中一个特定结构体的定义进行了解释,重点在于如何初始化结构体成员,并探讨了C语言中使用点操作符进行成员赋值的方法。
511

被折叠的 条评论
为什么被折叠?



