整形(在32位机中):
char:占1个字节
short:占2个字节
int:占4个字节
long:占4个字节
浮点型:
float(单精度):占4个字节
double(双精度):占8个字节
对于float和double这种浮点型的数,在内存中的存储方式和整形不一样,所以float和int相比,虽然都是4和字节,但是在内存中存储的方式完全不同,所以同一个4字节的内存,如果是按照interesting存放的,取的时候一定要按照int型的方式去取,如果存的时候和取得时候理解的方式不同,那数据就会出错。
存储方式上主要有两种:一种是整形,一种是浮点型,这两种存取方式完全不同,没有任何关联,所以绝对不能随意改变一个变量的存取方式。在整型和浮点型之内,譬如说4种整形char、short、int、long只是范围大小不同而已,存储方式是一模一样的。float和double存储原理是相同的,方式上有差异,导致了能表示的浮点型的范围和精度不同。
3、空类型(关键字void)
C语言中的void类型,代表任意类型,而不是空的意思,任意类型的意思不是说想变成谁就变成谁,而是说它的类型是未知的,是还没有指定的。
void * 是void类型的指针,void类型的指针的含义是:这是一个指针变量,该指针指向一个void类型的数,这个void类型的数可能是int、也可能是float、也可能是结构体。只是存放类型必须相同!
4、在函数参数列表和返回值中,void代表的含义是:
(1)一个函数形参列表为void,表示这个函数调用时不需要给它传参;
(2)返回值类型时void,表示这个函数不会返回一个有意义的返回值。所以调用者也不要想着去使用该返回值。