首先我们需要知道数据类型的介绍:
char short int long long long float double //字符数据类型 //短整型 2个字节 //整形 //长整型 字节根据编译器而定(4或8) //更长的整形 //单精度浮点数 //双精度浮点数
类型的意义:
1. 使用这个类型开辟内存空间的大小(大小决定了使用范围)。
2. 如何看待内存空间的视角
整形家族:
char unsigned char signed char short unsigned short [int] signed short [int] int unsigned int signed int long unsigned long [int] signed long [int]
浮点数家族:
float
double
构造类型:
> 数组类型
> 结构体类型 struct
> 枚举类型 enum
> 联合类型 union
指针类型:
int *pi; char *pc; float* pf; void* pv;
空类型
void 表示空类型(无类型)
通常应用于函数的返回类型、函数的参数、指针类型
对于void (空类型)大家在于之前的函数部分略有涉及:但是仅仅的潜意识的认为void类型没有返回值而已,并没有过多的研究深入,在此处,既然谈到了void(空类型),因此笔者也借此篇博文来带领大家浅浅的分析一下: void(空类型)的简单应用:
我们一般在函数部分设置无返回值的void空类型 !
#include <stdio.h> void tset() { printf("I love java\n"); } int main() { test(); }
在上述案列中,笔者知识浅浅的书写的一段代码,仅供参考!
上面的代码中:void tset() 也可以更改为 void tset(void) 这两者,具有一样的意思!都是典型的无返回值,不接收实参类型,但是对于void类型也能接收实参呀!如:void tset( int n)
上面就是我们经常用到的void(空类型)的典型!但是对于其他的void读者又能知道多少呢??
下面笔者来带领大家浅浅认识一下其他的void的应用类型:
空指针:
void* p=NULL定义了指针p,指向NULL,对于定义指针的时候,不知道该指向什么值,就赋空指针(百试百灵)
下面笔者用小小的一段代码,来带领大家认识: void* p(指针)!
int a=10; void* p1=&a;
在这段代码中,笔者将a的地址赋值给了void类型的指针p1;即:p1指向a
对于:void* p1 :一般情况下主要用来临时存放地址!
因此,任何一个地址都可以放在这儿,(整型,short类型,double类型,float类型)
但是,看着 :void* p1=&a; 还不错,但是却是很难使用:用时候容易出错:
对于:
int a=10; void* p1=&a; p++; *p1;
不知道该占用几个字节!因此在我们使用的时候,需要我们强制类型转化!然后才能正确使用!
对于void类型的内容,笔者就知道这么多了,至于其他的,只能一起学习,共勉