c数据类型
在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。简单点说,存储类型决定变量以那种方式存储,数据类型就是决定变量占多大的空间。
1.数据类型有哪几种呢?
- 基本类型
整型
浮点型
float 4个字节 有效位数6~7
double 8个字节 有效位数15~16
long double 16个字节 有效位数18~19
枚举型
enum 枚举名
{
枚举值表
};
指针型
无论那种变量类型的指针,都占4个字节
int *p = NULL;
char *pchr = NULL;
-
空类型
void 类型指定没有可用的值。它通常用于以下三种情况下:
序号 类型与描述 1 函数返回为空 C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如 void exit (int status); 2 函数参数为空 C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如 int rand(void); 3 指针指向 void 类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。 -
构造类型
数组
一维数组
多维数组
字符数组
字符串
结构体
结构体是一种自定义的数据类型,是一类相关事物属性的集合,
struct 结构体名
{
属性1;
属性2;
...
};
例:
struct person
{
char name[20];
int age;
};结构体涉及到字节对齐
共用体
union [union tag]
{
member definition;
member definition;
...
member definition;
} [one or more union variables];
2.数据类型的转换
隐式类型转换
分为竖向,横向:
横向:不管有没有进行混合运算,都会默认进行转换;
竖向:只有进行了混合运算的时候,才会进行转换。
强制类型转换
#include <stdio.h>
int main()
{
int sum = 17, count = 5;
double mean;
mean = (double) sum / count;
printf("Value of mean : %f\n", mean );
}
参考了菜鸟教程
https://www.runoob.com/cprogramming/c-data-types.html