结构体赋值
#include <stdio.h>
#include <string.h>
typedef struct
{
int num;
char name[6];
short height;
} STR_STU;
int main()
{
STR_STU xm = {0};
STR_STU xh = {0};
xm.num = 1000;
xm.height = 169;
memcpy(xm.name,"ad",4);
printf("xm's big name: %s\n",xm.name);
xh = xm;
printf("xh's big name: %s\n",xh.name);
printf("xh's num: %d\n",xh.num);
printf("struct.size: %d\n",sizeof(xh));
memset(&xh,0,sizeof(xh));
printf("xh's big name: %s\n",xh.name);
printf("xh's num: %d\n",xh.num);
return 0;
}
循环
#include <stdio.h>
#include <string.h>
#define arraycap 20
typedef struct
{
int data[arraycap];
short front;
short count;
} FOR_ARRAY;
FOR_ARRAY g_array={0};
void show() {for(int i=0;i<arraycap;++i) printf("%d ",g_array.data[i]);printf("\n"); }
void insert(int num)
{
short *count = &(g_array.count);
short *front =&(g_array.front);
printf("front:%d\n",*front);
printf("count:%d\n",*count);
if(*count == arraycap)
{
g_array.data[*front] = num;
(*front)++;
if(*front>=arraycap) *front = 0;
}else
{
g_array.data[*count]= num;
(*count)++;
}
}
int main()
{
for(int i=1;i<25;++i)
{
insert(i);
show();
}
return 0;
}