5-構造結合

17739 ワード

1-構造体概念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; }