当我阅读Android 中 关于Ril 的代码的时候,遇到这样的代码,请高手帮忙解释解释啊?   typedef struct
   {
     int requestNumber ;
     int (*responseFunction) (Parcel &p ,void * response, size_t responselen );
     WakeType waketype ;
   }UnsolResponseInfo ;
   
   static UnsolResponseInfo s_unsolResponses[] = {
      #include "ril_unsol_commands.h"
   };  重点是最后一句,其他的都懂。

解决方案 »

  1.   

    typedef指定通信协议的数据和回调函数。
    下面那个#include是为了直接文本插入,相当于调用别人写好的库。
      

  2.   

    为什么会在一个典型的数组定义即初始化中 有这句“ #include "ril_unsol_commands.h"
    ”呢?  数组初始化中 引用了一个头文件甚是不懂,这样能初始化一个数组吗?
      

  3.   

    #include是将后面文件得内容插入到本文件,#include 头文件,是一样的道理。
    这段代码是再定义一个接口,数组的内容是不确定的,ril_unsol_commands.h可以根据不同用途添加不同的命令。
      

  4.   

    是我说的不明白么?
    你不要总认为 include 只能是引入头文件
    我也可以include 一个.c ,include的意思是直接文本插入,不是引用头文件。
    还是不明白的话,要补习一下c语言了
      

  5.   

    你一定要结合ril_unsol_commands.h内容来一起看 ,才好理解数组的用意,不要单纯的认准就是个头文件
      

  6.   

    感谢念茜 的回答。看了ril_unsol_commands.h 才明白过来,看来是自己太懒惰了,硬是不先看看ril_unsol_commands.h  的代码。本想追加给分的,但我积分很少。但愿以后多和楼主交流。