求大神大侠!!!
程序代码:
#include<stdio.h> #include<string.h> #include<stdlib.h> #define SIZE (8) struct T{ char flag[4]; char ch; }; int main(){ struct T * array = malloc(sizeof(struct T)*SIZE); memset(array, -1,5 * SIZE); printf("===dump array===\n"); int i,j; for(i=0;i<SIZE;i++){ printf("array[%d]\tflag=",i); for(j=0;j<4;j++) printf("%x",array[i].flag[4]); printf("\tch=%d\n",array[i].ch); } printf("===end===\n"); free(array); return 0; }
这个程序是好的,但为什么我之前没在定义flag那里加上大小,出来的结果就是乱码的呢?