
内置类型是预先定义好的类型而自定义类型则需要开发者自行设计。字符型char [signed] char //有符号字符 unsigned char //无符号字符整形//短整型 short [int] [signed] short [int] unsigned short [int] //整型 int [signed] int unsigned int //长整型 long [int] [signed] long [int] unsigned long [int] //更长的整型 //从C99中引入 long long int [signed] long long [int] unsigned long long [int]浮点型float double long double布尔类型布尔值表示真和假即非0和0_Bool bool使用布尔类型前需要添加头文件stdbool.h布尔类型的变量取值是true或者false#include stdio.h #include stdbool.h //布尔类型头文件 int main(){ _Bool or true; //false if (or true) { printf(nice); }else { printf(no nice); } return 0; }数据类型的长度之sizeof操作符#include stdio.h int main(){ int z 4; double i 0.01; sizeof(int); sizeof(i); printf(%zu\n, sizeof( int )); printf(%zu\n, sizeof( z )); printf(%zu\n, sizeof( double )); printf(%zu\n, sizeof( i )); return 0; } /*输出结果4 4 8 8 */signed和unsignedsigned表示一个类型带有正负号包含负值unsigned表示该类型不带有正负号只能表示零和正整数。’对于int类型默认是带有正负性的等同于signed intsigned int i //i能存正值与负值 unsigned int i //i只能存0与正值数据类型的取值范围limits.h 文件中说明了整型类型的取值范围float.h 说明浮点型的取值范围变量#include stdio.h int main(){ int age; //年龄 float weight; //体重 float score; //身高 return 0; }在给float赋值时被认为是double类型在值后面加上f可变为float类型变量分类全局变量在大括号外部定义的变量就是全局变量适用于整个工程使用。局部变量在大括号内部定义的变量就是局部变量只能在大括号内部局限性使用。#include stdio.h int age 19; //全局变量 int main(){ int age 19; // float weight 120.5f; // } 局部变量 float score 175.4; // int num 4; { int num1 5; //局部变量 printf(%d , num1);//可以调用 } printf(%d , num1); //报错局部变量在外部无法调用 return 0; }局部变量是存放在内存中的栈区全局变量是存放在内存中的静态区堆栈是用来动态内存管理的变量的本质是在内存中开辟空间