C基础2

1.基本数据类型(基于32位系统):

					类型说明符			字节	数值范围
字符				char				  1		C字符集
基本整型				int					  4		-214783648~214783647
短整型				short int			  2		-32768~32767
长整型				long int			  4		-214783648~214783647
无符号型				unsigned 			  4		0~4294967295
无符号长整型			unsigned long         4		0~4294967295
单精度型				float			      4		3/4E-38~3/4E+38
双精度型				double				  8		1/7E-308~1/7E+308

注意:数据类型占用的字节依赖硬件及编译环境,如long int 在32位系统下占用了4字节,而在64位系统则是8字节

2.枚举:
概念:有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有7天,C语言提供了“枚举”类型
枚举变量的说明:
enum weekday{SUN = 0, MON, TUE, WED, THU, FRI, SAT}; //默认MON = 1, TUE = 2 ~ SAT =6

3.结构体
概念:一组数据往往具有不同的数据类型,不能用一个数组来存放,为了解决此问题,C语言引入了“结构体”,用来表示多种数据类型
例1:
struct date
{
int month;
int day;
int year;
};
struct date birthday;
//先定义结构,再说明结构变量
例2:
struct student
{
int num;
char name[20];
char sex;
float score;
struct date birthday;
}
struct student boy1,boy2;
//结构体变量成员也定义为结构变量(结构体嵌套)
例3:
typedef struct student
{
int num;
char name[20];
char sex;
float score;
struct date birthday;
};ST_STU
ST_STU boy[2];
//结构体变量数组

4.联合体
概念:联合把几种不同类型的数据存放于同一段内存。联合可以节省内存空间,但联合的各成员不能同时出现,
即在任一时刻只有一个成员起作用,除非明确变量间的关系不会互相影响,否则建议不要随意使用联合体。

联合体的使用要谨慎,主要有如下形式:
typedef union
{
	unsigned int dword_ipv6[4];
	unsigned char byte_ipv6[16];
}IPv6;
//IPv6 16字节 128比特位

5.typedef
概念:typedef用于定义类型说明符,相当于为数据类型取“别名”。使用typedef可提高程序的可读性和可维护性
例:
typedef char CHAR8; CHAR8 str[16]; //等价于 char str[16]
typedef int INT32; INT32 a,b; //等价于 int a,b;
typedef struct str {…}STU_S; STU_S stTest; //等价于 struct stu stTest

注意:不要使用define 替代 typedef
反例:
	#define D_INT32 int*
	D_INT32 ptr_a,ptr_b;	//宏展开为int *ptr_a,ptr_b; 实际只定义了一个指针变量ptr_a,而ptr_b数据类型为int
	//正确写法为:
				typedef int* T_INT32
				T_INT32 ptr_c,ptr_b;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值