天津市网站建设_网站建设公司_Bootstrap_seo优化
2026/1/13 23:15:35 网站建设 项目流程

1、数据类型

1.1字符型

字符英文单词是character,在C语言中 char 表示字符类型。

char字符型------1字节 [signed] char//有符号的 unsigned char//无符号的

1.2整型

整数英文单词integer,在C语言中 int 表示整型。

//短整型------2字节 short [int] [signed] short [int] unsigned short [int] //整型------4字节 int [signed] int unsigned int //长整型------4字节 long [int] [signed] long [int] unsigned long [int] //更长的整型 C99中引入------8字节 long long [int] [signed] long long [int] unsigned long long [int]

1.3浮点型

float//单精度浮点型------4字节 double//双精度浮点型------8字节 long double------8字节

1.4布尔类型

C99中引入布尔类型--------1字节,专门表示真/假的变量。

C语言本来没有布尔类型,使用0表示假,非0表示真。

布尔类型使用必须包含头文件<stdbool.h>,取值是true或false。

#include <stdio.h> #include <stdbool.h> int main() { //_Bool flag1 = true; //_Bool flag2 = false; //#define bool _Bool bool flag1 = true; bool flag2 = false; if (flag1) printf("hehe\n");//打印 if (flag2) printf("haha\n");//不打印 return 0; }

2各种数据类型的长度

每种数据类型都有自己的长度,不同数据类型能创造出不同长度的变量,变量长度不同,存储数据的范围也不同

2.1sizeof 操作符

  • sizeof是一个关键字,也是一个操作符,专门用来计算类型长度,单位是字节。
  • sizeof(类型) sizeof 表达式——其操作数可以是类型,也可以是变量或者表达式。类型要有括号,表达式可以省略括号。
  • sizeof后面的表达式不是真实参与计算的,根据表达式类型得出类型长度
  • sizeof的计算结果是size_t类型,size_t类型的数据打印是使用%zu
  • int main() { int a = 10; printf("%zu\n", sizeof(a)); 4 printf("%zu\n", sizeof a); 4 printf("%zu\n", sizeof(int)); 4 printf("%zu\n", sizeof(3 + 3.5)); 8 return 0; }

    计算机能识别的是二进制,存储一个二进制位需要的空间是1个比特位(1bit)

1Byte(字节) == 8bit(比特),1KB(千字节)== 1024B,1MB(兆字节)== 1024KB

1GB(吉字节)== 1024MB, 1TB(太字节)== 1024GB

参考资料:https://en.cppreference.com/w/c/language/arithmetic_types.html#.E6.95.B0.E6.8D.AE.E6.A8.A1.E5.9E.8B

2.2signed和unsigned

C语言使用signed和unsigned关键字修饰 字符型和整型类型。

  • signed 关键字,表示一个类型带有正负号,包含负值
  • unsigned 关键字,表示该类型不带正负号,只能表示零和正数
  • 对应int类型,默认是带正负号的,关键字signed一般都省略不写
  • char 类型默认是否带正负号,由当前系统决定,char可能是signed char(大部分是这个),也可能是 unsigned char,这一点与int不同,int 默认为 signed int
  • 字符类型也属于整型,字符的本质是ASCll值
  • size_t是无符号的整型类型

3.变量

3.1变量的创建

类型是用来创建变量的,C语言中把经常变化的值称为变量,不变的值称为常量

变量创建的语法形式

data_type name | | | | 数据类型 变量名

变量命名规则

  • 只能由字母(大小写)、数字、下划线(‘_')组成
  • 不能以数字开头
  • 长度不能超过63个字符
  • 变量中区分大小写
  • 变量名不能使用关键字,变量名最好有意义
  • 变量在创建时给一个初始值,叫做初始化(与赋值区分)
  • 创建变量时最好给一个值,将它初始化,局部变量不初始化,编译器会给一个未知的值或者报错。
int main() { int age = 0;//初始化 float scores; scores = 20.0f;//f表示单精度浮点数,赋值 return 0; }

3.2变量的分类

  • 全局变量:在大括号外部定义的变量(全局变量使用范围更广,整个工程要使用都可以)
  • 局部变量:在大括号内部定义的变量(使用范围比较局限,只能在自己所在的局部范围内使用)
  • 全局变量如果不初始化,编译器会指定为0;局部变量不初始化,编译器会给未知值。
int d = 100;//全局变量 int main() { //局部变量 int a = 10; int b = 20; printf("%d", a); printf("%d", d); return 0; }
  • 当全局变量和局部变量名字相同时,局部变量优先

变量创建的本质是向内存申请空间,全局变量和局部变量在内存存储在哪里呢?

内存分为三个区域:栈区、堆区、静态区

1、局部变量、函数参数 放在栈区

2、全局变量、静态变量 放在静态区

3、堆区是用来动态内存管理的(mallloc、calloc、realloc、free)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询