C语言基础零散知识记录预留

编码规范

一定要注意编码规范,变量使用前要初始化,最好在定义的时候就进行初始化。所以。。。我之前的程序
存在问题,。头文件排版函数编写
功能代码编写

优质博文推荐,感谢作者分享

结构体嵌套

#include <stdio.h>

typedef struct test1
{
	int a;
	char b;
	float c;
	struct test1 *next;
}TEST1;

typedef struct test2
{
	int data;
	TEST1 t1;
}TEST2;

int main()
{
	TEST2 test;
	TEST1 a={9,'9',9.9,NULL};
	test.data=10;
	test.t1.a=1;
	test.t1.b='1';
	test.t1.c=3.14;
	test.t1.next=NULL;
	printf("TEST2 data=%d\n",test.data);
	printf("TEST2 t1={%d,%c,%.2f,%p\n}",test.t1.a,test.t1.b,test.t1.c,test.t1.next);
	test.t1.next=&a;
	printf("TEST1 a={%d,%c,%.2f,%p\n}",test.t1.next->a,test.t1.next->b,test.t1.next->c,test.t1.next->next);
	return 0;
}

枚举

枚举可用于需要定义多个宏定义常量的场景

#include <stdio.h>

enum week
{
	MON=1,TUE,WED,THU,FRI,SAT,SUN
}WEEK;

int main(void)
{
	WEEK;
	WEEK=WED;
	printf("%d\n",WEEK);
	for(WEEK=MON;WEEK<=SUN;WEEK++)
	{
		printf("%d\n",WEEK);
	}
	return 0;
}

共同体

共同体的使用方法和结构体几乎一样,不过重点在与共同体的内存空间安排和结构体完全不一样。一个共同体的的内存字节大小是共同体中字节最大的成员的字节。

#include <stdio.h>

typedef union test
{
	int a;
	char b;
	char c[30];
}TEST;

int main(void)
{
	TEST t1;	
	printf("The union size=%ld  t1=%ld\n",sizeof(TEST),sizeof(t1));
	
	t1.b='a';//注意此处,只赋值了第二个成员。如果赋值后续成员,可能会乱码
	printf("a=%d , b=%c, c=%s\n",t1.a,t1.b,t1.c);
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值