数据类型

一、数据类型的本质

数据类型可理解为创建变量的模具,是固定内存大小的别名。

数据类型的作用:编译器预算对象(变量)分配的内存空间。

数据类型的大小:sizeof

二、数据类型的使用

数组数组类型的使用,实验代码:

#include "stdio.h"

int main()
{
	int a;	//告诉编译器分配4个字节的内存
	int b[10];	//告诉编译器分配40个字节的内存

	printf("b:%d,b+1:%d,&b:%d,&b+1:%d\n",b,b+1,&b,&b+1);

	
	system("pause");
	return 0;
}

运行结果:

382f522de42b720982d0cb4eae1cf99b50c.jpg

可以看出b,b+1只是相差4个字节,但是&b,&b+1相差40个字节。

因为b和&b代表的数据类型不一样,b代表数组首元素的地址,&b代表整个数组的地址。

三、定义数据类型

typedef关键字定义一个数据类型,比如定义一个结构体类型。

实验代码:

#include "stdio.h"

typedef struct student
{
	int age;
	char name[10];
}student;

int main()
{

	student st;

	st.age = 17;
	
	printf("st.age:%d\n",st.age);
	
	system("pause");
	return 0;
}

四、数据类型的封装

1、void数据类型

void类型的字面意思是“无类型”,void*为“无类型指针”,void*可以指向任何类型的数据。

用法1:数据类型的封装

init_sock(void * handle);

用法2:void修饰函数返回值和参数,仅表示无。

如果函数没有返回值,那么应该声明函数类型为void。

如果函数没有参数,应该声明函数参数为void。

不存在void类型的变量,比如:

void a;

这样的变量是不存在的。

2、void指针的意义

C语言中规定只有相同类型的指针才可以相互赋值。

void*指针作为左值用于“接收”任意类型的指针,void*指针作为右值赋值给其他指针时需要强制类型转化。

 

 

转载于:https://my.oschina.net/u/4125956/blog/3051250

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值