C语言
文章平均质量分 78
个人的学习过程,感觉有错误要提出来哦
迟钝的愛
希望每一个温柔的人能被同样温柔对待(●'◡'●)
展开
-
C语言关键词
对于一个变量而言主要有三个部分:类型、名字、地址变量的值以最后一次赋值为准变量的赋值从右至左#define PI3.1415910// 此处SIZE代表数组元素个数int main()return 0;如需修改数组大小,需要修改代码中SIZE的值函数有函数头和函数体函数头:返回值类型 函数名(形参列表)函数体:函数实现的功能(想执行的语句)int main()return 0;函数声明的作用是告诉编译器,该程序中有一个函数,函数的返回值类型、函数名和形参列表都已确定。定义方式。原创 2024-03-02 23:42:53 · 605 阅读 · 0 评论 -
程序的结构
声明是不产生代码的东西函数原型变量声明结构声明宏声明枚举声明类型声明inline函数定义是产生代码的东西。原创 2024-03-20 20:39:24 · 203 阅读 · 0 评论 -
关于main函数
代码一般以main函数开始,main函数是C语言程序执行的入口,只能有一个main函数,且必须放在源文件中。原创 2024-03-20 20:40:09 · 131 阅读 · 0 评论 -
C语言中的语句
空语句是一个分号,表示一个空操作,空语句本身并不执行任何任务,但有时还是有用。它所使用的场合就是语法要求出现一条完整的语句,但并不需要它执行任务。原创 2024-03-20 20:42:59 · 253 阅读 · 1 评论 -
C语言中的数据类型
对于printf,任何小于int的变量都会被自动转换为int类型,float会被自动转换为double类型。原创 2024-03-20 20:43:47 · 695 阅读 · 1 评论 -
变量与常量
define PI3.1415910// 此处SIZE代表数组元素个数int main()return 0;如需修改数组大小,需要修改代码中SIZE的值。原创 2024-03-20 21:45:11 · 280 阅读 · 1 评论 -
运算符(包含位运算符)
如果把一个结构体(如struct st_girl stgirl)的地址传给子函数,子函数用一个结构体指针(如struct st_girl *pgril)来存放传入的结构体的地址,如果在子函数中用sizeof(pgirl),得到的不是结构体占用内存的字节数,而是结构体指针变量占用内存的字节数(8字节)。如果(x)i == (y)i,那么(x^y)i == 0,否则(x^y)i == 1,如果两个位相等,那么结果为零,如果不相等,结果为1。正确的用法是用sizeof(arr)/sizeof(arr[0])原创 2024-03-20 21:49:13 · 775 阅读 · 1 评论 -
分支与循环
break语句在循环体的中间设置退出点,用以跳出while,do while和for循环,直接执行循环语句后面的语句。除此之外,break语句还用于switch语句,用以跳出switch语句而直接执行switch语句后面的语句。循环语句是用于重复执行某条语句(循环体)的语句,它包含一个控制表达式,每循环执行一次都要对控制表达式进行判断,如果表达式为真,则继续执行循环。C语言提供了3中循环语句,分别为while语句,do while语句和for语句。循环体至少执行一次,表达式不为零时,继续循环;原创 2024-03-20 21:51:05 · 486 阅读 · 1 评论 -
C语言函数
函数有函数头和函数体函数头:返回值类型 函数名(形参列表)函数体:函数实现的功能(想执行的语句)int main()return 0;函数声明的作用是告诉编译器,该程序中有一个函数,函数的返回值类型、函数名和形参列表都已确定。原创 2024-03-20 21:53:18 · 586 阅读 · 1 评论 -
C语言数组
定义方式类型 数组名[元素数量];数组是一种容器其中所有元素具有相同的数据类型一旦创建,不能改变大小数组的单元使用数组时放在[]中的数字叫做下标或索引,下标从0开始。原创 2024-03-20 21:54:10 · 182 阅读 · 1 评论 -
C语言指针
运算符是取地址运算符,返回的是变量的内存地址,即变量在内存中的存储位置。是一个单目运算符,* 运算符是取值运算符,返回的是指针所指向的变量。数组变量已经是常量指针了,这里的const表明数组的每一个单元都是const int。因为把数组传入函数时,实际上是传入了数组的首地址,所以那个函数内部可以修改数组的值。通常的是让函数返回特殊的不属于有效范围内的值表示错误,例如返回-1表示错误。返回的结果是void*类型,需要类型转换为需要的类型。传入的参数实际上是需要保存结果的变量。原创 2024-03-20 21:55:34 · 954 阅读 · 1 评论 -
字符串和字符串函数
以0结尾的一串字符0或’\0’是一样的,但是’0’不同0标志字符串的结束,但它不是字符串都一部分计算字符串长度时候不包含这个0字符串以数组的形式存在,可以以数组或指针的形式访问。原创 2024-03-20 21:56:58 · 610 阅读 · 1 评论 -
结构体和共用体
struct 结构体名 {结构体所包含的变量或数组 } 结构体变量;注意分号不能少!若没有结构体名,后面就没法用该结构体定义新变量其他变量定义形式struct 结构体名 {结构体所包含的变量或数组 };stuct 结构体名 结构体变量;struct {结构体所包含的变量或数组 } 结构体变量;//此时是无名结构。原创 2024-03-20 21:58:10 · 462 阅读 · 1 评论 -
结构体实现的链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列节点(链表中每一个元素称为节点)组成,节点可以在运行时动态生成。每个节点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。原创 2024-03-31 23:21:23 · 429 阅读 · 0 评论 -
typedef
上述声明引入了 PFunCallBack 类型作为函数指针的同义字,PFunCallBack 类型定义的指针会指向一个函数,该函数包含两个类型分别为 char* 和 unsigned int 的参数,以及一个类型为 void 的返回值。上述代码中,s1、s2、s3的类型相同,均为char*,而s4的类型为char,而不是char*,这是因为#define只是做了简单的字符串替换。在不使用 typedef 的情况下,RedisSubCommand 函数的声明会复杂得多,不利于代码的维护,同时增加出错风险。原创 2024-03-20 21:58:53 · 844 阅读 · 1 评论 -
enum枚举
enum 枚举名 {枚举数据表 };注意!enum是关键字,标识枚举类型,定义枚举类型必须用enum开头枚举数据表中的名字是程序员自己设定,这些名字只是一个符号。但注意命名时要提高程序的可读性。枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号隔开枚举数据表的值都是整数。类型都是int。第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。也可以人为设定枚举成员的值,从而自定义某个范围内的整数可以在定义类型时对枚举常量初始化枚举类型可以进行比较。原创 2024-03-20 22:00:05 · 428 阅读 · 1 评论 -
预处理和宏
如果一个宏的值中有其他的宏的名字,也是会被替换的,如果宏的值超过一行,最后一行之前的行末需要加反斜杠,宏的值后面出现的注释不会被当做中的值一部分_Line_表达当前源代码所在行的行号,_File_表达当前文件名,__DATE__和__TIME__分别表示编译日期。原创 2024-03-21 18:16:27 · 742 阅读 · 1 评论 -
格式化的输入与输出
【代码】输入与输出。原创 2024-03-21 18:17:19 · 323 阅读 · 1 评论 -
C语言中的文件处理
文件的格式化输入与输出函数为fscanf,fprintf函数,它们与scanf和printf函数类似,只是fscanf和fprintf的第一个参数为文件指针,而scanf和printf的第一个参数为格式字符串。文件通常是指在磁盘或固态是的一段已经命名的缓冲区,例如我们经常使用的stdio.h就是一个文件,c语言将文件看成一段连续的字节,每个字节都可被单独读输,c提供了两种模式:文本模式和二进制模式。文件是当今计算机系统不可或缺的部分。文件用于存储程序,文档,数据,书信,表格,图形,照片,等其它种类的信息。原创 2024-04-03 15:44:11 · 885 阅读 · 0 评论 -
C语言储存管理
在本地变量定义时加上static修饰符就成为静态本地变量,当函数离开的时候,静态本地变量会继续存在并保持其值,静态本地变量的初始化只会在第一次进入这个函数时做,以后进入函数时会保持上次离开时的值。静态本地变量实际上是特殊的全局变量,它们位于相通的内存域,静态本地变量具有全局的生存期,函数内部局部作用域,static在这里意思是局部作用域。返回本地变量的地址是危险的,返回全局变量或静态本地变量的地址是安全的,返回在函数内malloc的内存是安全的,最好返回传入的指针。原创 2024-03-21 18:18:04 · 232 阅读 · 1 评论 -
C语言函数库
函数原型:void *bsearch(const void *key, const void *base, size_t nitems, size_t size, int(*compar)(const void, const void))函数原型:void qsort(void *base, size_t nitems, size_t size, int(*compar)(const void *, const void *))函数功能:把参数str所指向的字符串转换成int型数据,并返回转换后的结果。原创 2024-04-01 20:35:10 · 546 阅读 · 0 评论