5-構造結合
17739 ワード
1-構造体概念c
4-列挙c
#include
#include
#include
struct Student //Student
{
int id;
char name[32];
char sex;
};
typedef struct Student stu;
int main()
{
struct Student s1; //
struct Student s2 = {2, "jack", 'm'};
stu s3 = {3, "tim", 'm'};
//s1 = {1, "jason", 'f'};
s1.id = 1;
strcpy(s1.name, "jason");
s1.sex = 'f';
printf("%d %s %c
", s1.id, s1.name, s1.sex);
printf("%d %s %c
", s2.id, s2.name, s2.sex);
stu *ps = (stu *)malloc(sizeof(stu) * 1);
ps->id = 4;
strcpy(ps->name, "lily");
ps->sex = 'f';
printf("%d %s %c
", ps->id, ps->name, ps->sex);
//stu s4[5] = {0}; // ,
stu s4[5] = {{5, "aaa", 'm'}, {6, "bbb", 'f'}};
int i;
for (i = 0; i < 2; i++)
{
printf("%d %s %c
", s4[i].id, s4[i].name, s4[i].sex);
}
stu *ps1[5] = {0}; //
return 0;
}
2- .c
```#include <stdio.h>
//1、
//2、
struct T
{
int x;
char y;
};
struct Test
{
char c[10];
short a;
float b;
struct T t;
char d;
};
int main()
{
printf("%lu
", sizeof(struct Test));
return 0;
}
3- .c
```c
#include
//
union Test
{
int a;
int b;
char c;
};
union Byte
{
short val;
char ch[sizeof(short)];
};
int main()
{
union Test t1;
t1.a = 100;
printf("t1.b = %d
", t1.b);
t1.a = 0x10101010;
printf("t1.c = %x
", t1.c);
union Byte b;
b.val = 0x0102;
if (b.ch[0] == 2 && b.ch[1] == 1)
{
printf("
");
}
else if (b.ch[1] == 2 && b.ch[0] == 1)
{
printf("
");
}
//
return 0;
}
4-列挙c
#include
/*#define A 0
#define B 1
#define C 2
#define D 3*/
enum Num
{
A,
B,
C = 1000,
D
};
int main()
{
printf("%d
", A);
printf("%d
", B);
printf("%d
", C);
printf("%d
", D);
return 0;
}