C语言进阶一

2023-12-05  本文已影响0人  娇娇_5038

1.数据类型

基本数据类型和复合类型

1.1基本数据类型

char,int ,long,short ,float,double

1.1.1内存占用和sizeof运算符

数组类型好像一个一个的模子,这个模子实例化处C语言的变量,变量存储在内存中,需要占用一定的内存空间。(定义的变量越少,消耗的内存越少),一个变量占用多少空间由数据类型决定的。每一种数据类型在不同的机器平台上占用的内存是不一样的,一般来讲的时候以32位的cpu来讲的

int a;  //4

long a;//4

short a;//2

float a;//4

double a;//8

char a;//1个字节

1.1.2 有符号数和无符号数

以下类型分为有符号数和无符号数

char 

int 

long

short 

以下类型只有符号数

float

double

对于C语言来说,数(也就是变量)是存储在内存中的一个一个的格子中。存储的时候用二进制存储,对于由符号数和无符号数存储方式不同。比如int来说 unsigend int ,32个字节全部可以来存储内容,所以表示数的范围是0 - 4294967295(2^32 -1)

对于signed int ,有符号数,32位中最高位来存符号,剩余31位来存储数据 -(2^31 ) 到  +(2^31-1)

类型怎么定义就怎么取,int 编译和float编译形式不一样

1.1.3 整型数和浮点型数存储方式不同

复合类型

数组,结构体,公用体,类(c语言没有类,c++)

1.2 空类型

void

C语言的void类型,代表任意类型,而不是空类型。任意类型的意思不是说想变成谁变成谁,而是说它的类型是未知的,还没有指定

void * 代表空类型指针,void类型指针的含义是,这是一个指针变量,该变量指向一个void类型的数,void类型的数就是说这个数可能是int,也可能是float,也可能是结构体,哪种类型都有可能,只是我不知道

void程序编译器没办法帮你做编译检查

在函数的参数列表和返回值中,void的含义是:

作为一个函数参数列表的void,表示这个函数调用时不用给它传参

发返回值类型是void,表示这个函数不会返回一个有意思的返回值。所以调用者不用想着使用该返回值

注意:void * 类型的指针,可以指向任意类型的变量,但是程序员必须自己清楚,存放时合取时数的类型必须相等,否则会报错

eg

#include main(void){

int a=23;

void * pVoid = &a;

printf("*pVoid = %d",* (int * ) pVoid);

}

1.3 数据类型转换

1.3.1 隐私类型转换

1.3.2 强制类型转换

1.4语言和bool类型

上一篇下一篇

猜你喜欢

热点阅读