#include<stdio.h>
#define STORAGESIZE 5
#define MAX_NAME_LEN 2
typedef struct{
char name[MAX_NAME_LEN];
char feild1;
char feild2;
} strt;
static strt storage[5];
main(){
unsigned char *stp=(unsigned char*)&strt;
unsigned char*stp_end=(unsigned char*)(&strt+STORAGESIZE);
int i;
for(i=0;stp!=stp_end;stp++,i++)
printf("byte%d: %x\n",i,*stp);
}
おそらくパディング部分を除いて、静的として宣言されたすべての構造が0に初期化されることを確認しようとしています。上記をコンパイルしようとするとエラーが発生しました: statictable.c:
In function 'main':
statictable.c:13:38: error: expected expression before 'strt'
statictable.c:14:42: error: expected expression before 'strt'
キャストされたポインターを別のポインターに割り当てる際に何が間違っている可能性がありますか。これは初歩的なものになる可能性があることはわかっていますが。