几种简短的数据类型的介绍(主要介绍void)
支持笔者,并且坚持观看笔者博客的粉丝,都已经接触到了C语言的深层阶段,但是仅仅也只是深层!并没有深入研究过C语言的数据在内层中如何存储! 本篇博文,笔者将带领大家深度刨析数据在内存中的存储!
首先我们需要知道数据类型的介绍:
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类型的内容,笔者就知道这么多了,至于其他的,只能一起学习,共勉!
- 点赞
- 收藏
- 关注作者
评论(0)