结构中数组的大小

时间:2018-12-12 13:35:53

标签: c embedded

我有一个char数组的结构,定义如下:

    struct SD_Data {
       char time[8];    
       char vac[4];     
       char vdc1[4];     
       char vdc2[4];     
       char freq1[4];   
       char freq2[4];    
       char freq3[4];    
       char error_status[4];  
       char run_status[10];  };

struct SD_Data sdData;

  // data is put into struct here...

我想在循环中使用一个与每个数组的大小相对应的变量。

通常我可以使用:

size = sizeof(sdData.time);
size = sizeof(sdData.vac);
etc

有没有办法用指针代替名称,并在获取每个数组的大小时增加指针?

我尝试通过定义一个指向strut起始位置的指针,然后获取所引用指针的大小,但仅给出指针的大小

int* numPtr = (int*)&sdData;
size = sizeof(*numPtr );

谢谢。

0 个答案:

没有答案