C语言
文章平均质量分 60
C语言知识点
真好,好的不得了
这个作者很懒,什么都没留下…
展开
-
C语言基础-利用回调函数机制写万能排序函数
利用回调函数机制写万能排序函数 手写万能排序的思路: 假设自定义万能排序的函数名为:MyQSort 使用冒泡排序; 确定形参: 1)因为不知道传入到MyQSort中的是那种类型的数组,所以使用void* 无类型指针类型用于接收数组的首地址。 2)因为接收的是数组首地址,也不知道数组元素的数据类型,所需需要“数组的大小”和“数组元素的大小” 3)需传入一个比较器。能做到万能排序的原因,这是关键点。一种数据类型对应着一个比较器,用于比较两数组元素的大小,用于排序。 因为接收是数组的首元素地址,而且不知道数据类原创 2022-05-02 11:21:19 · 235 阅读 · 0 评论 -
C语言基础-指针
指针 指针是什么? 指针(Pointer)是编程语言的一个对象,利用地址,他的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能够找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”,意思是通过它就能找到以它为地址的内存单元。 指针类型 指针类型决定了指针进行解引用操作的时候,能够访问空间的大小。 指针类型决定了指针的步长 指针的大小与系统的操作位数有关,32位/64位 4byte/8byte 野指针 概念: 指针指向的位置是不可知的(原创 2022-05-02 11:23:01 · 674 阅读 · 0 评论 -
C语言基础-数据的存储
数据的存储 数据类型 意义: ①:数据类型决定了系统为其开辟内存空间的大小 ②:决定了系统如何解析内存中的值 数据在内存中的存储方式 大端字节序 数据的低位保存在内存的高地址中,数据的高位保存在内存的低地址中。 小端字节序 数据的低位保存在内存的低地址中,数据的高位保存在内存的高地址中 整型在内存中的存储 char 符号类型 可以存储的范围是:-128-127 其中,char类型下 127+1 的结果是-128 char类型下 -128 -1 的结果是 127原创 2022-04-29 20:08:20 · 1137 阅读 · 0 评论 -
C语言基础-隐式类型转换(整形提升)
隐式类型转换 隐式类型转换 C的整型算数运算总是至少以缺省类型的精度来进行的 整型提升 为了获得这精度,表达式中的字符和短整型操作数在使用之前被转换为普通类型,这种转换被称为整型提升。 如何提升 先转换成其补码,然后按照数据类型的符号来提升的(除值外,其他值补符号位值) -1 1000 0001 原码 1111 1110 反码 1111 1111 补码 1111 1111 1111 1111 1111 1111 1111 1111 整形提升(补码) 何时需要整型提升 在进行short/原创 2022-04-29 19:28:09 · 1184 阅读 · 0 评论 -
C语言基础-运算符优先级
运算符优先级 初等运算符 () 函数调用操作符 [] 下标引用操作符 -> 结构体指针变量名->成员名 . 结构体取结构体内的参数 单目运算符 ++ 变量自增 - - 变量自减 & 取变量在内存中的地址 sizeof() 计算变量占内存的大小 ! 逻辑取反(Boolean) ~ 按位取反 * 解引用操作符 (类型) 强制转换变量类型 移位运算符 >> 右移操作符 << 左移操作符 关系运算符 > 大于 < 小鱼 >原创 2022-04-20 11:52:11 · 1130 阅读 · 0 评论 -
C语言基础-三子棋
game.h #ifndef _GAME_H #define _GAME_H #include<stdio.h> #include<stdlib.h> #include<windows.h> #include<time.h> #endif void Menu(); int Input(); int Game(); void prints(); //int* NndexInput(); //int Robot_Game(); game.c #d原创 2022-04-19 19:03:27 · 2413 阅读 · 3 评论 -
C语言基础-语句类型
5中语句类型 表达式语句 运算符表达式语句 赋值语句 函数调用语句 复合语句 流程控制语句 非结构化语句 限定转向语句 continue; 在循环体内使用表示跳过continue后的代码从循环表达式开始执行。 break; 在循环体中使用表示结束本次循环。 return; 非限定转向语句 goto语句 结构化语句 循环语句 当型 for(;😉; for(表达式1;表达式2;表达式3)//表达式1只执行一次 { 语句; } 表达式的含义:原创 2022-04-15 15:18:56 · 859 阅读 · 0 评论 -
C语言基础-操作符
操作符 算术操作符 + - * / % 浮点型运算不支持取模运算 移位操作符 整数在内存中以补码的方式存在 正数的补码是源码 负数的补码是源码的反码+1 >> 算术右移 右边丢弃,左边补原符号位 无符号类型右移右移都是“逻辑移位” 有符号类型右移为“逻辑移位”右移为“算术移位” 逻辑右移 右边丢弃,左边补0 << 左移 左边丢弃(符号位不变),右边补0 位操作符 & 位与运算(按位与) 整型二进制位相同(1和原创 2022-04-14 22:45:09 · 818 阅读 · 0 评论 -
C语言基础-常量
字面常量 直接写出的常量:1,12.3 const 修饰的常变量 const 修饰的参变量其值不能被修改 语法: const 变量类型 变量名 = 值; **为什么叫常变量:** 因为const修饰的是变量,修饰后的变量其值不能被修改,但还有变量的属性。 例: const int num = 20; //num = 1; //该语句会报 “语法错误”。 printf("%d\n", num ); **注意:** C++和C中区别: C中,const 是原创 2022-04-10 12:18:14 · 1001 阅读 · 2 评论