
C语言
文章平均质量分 82
C语言初级到进阶
一颗小小粒
每天进步亿点点!
展开
-
【进阶指针】函数指针、数组以及回调函数详解
目录一、函数指针1. 函数指针的地址2. 函数指针地址的存放3. 函数指针的使用4. 两段有趣的代码二、函数指针数组1. 函数指针数组的应用三、指向函数指针数组的指针四、回调函数4.1 qsort(快速排序)函数 一、函数指针 函数指针变量,用来存放函数的地址。 1. 函数指针的地址 首先看一段代码: #include <stdio.h> void test() { printf("hehe\n"); } int main() { printf("%p\n", test); pr原创 2021-09-22 23:27:53 · 544 阅读 · 8 评论 -
【进阶指针】数组参数和指针传参
目录一、数组参数、指针参数1. 一维数组传参2. 二维数组传参3. 一级指针传参4. 二级指针传参 一、数组参数、指针参数 在写代码的时候难免要把【数组】或者【指针】传给函数,那函数的参数该如何设计呢? 1. 一维数组传参 #include <stdio.h> void test(int arr[]) {} void test(int arr[10]) {} void test(int *arr) {} void test2(int *arr[20])//也可不写20 {} vo原创 2021-09-13 18:22:51 · 429 阅读 · 0 评论 -
【进阶指针】字符指针、数组指针和指针数组
在初级指针讲解中,我们了解到指针的一些基本概念: 指针就是个变量,用来存放地址,地址唯一标识一块内存空间。 指针的大小是固定的4/8个字节(32位平台/64位平台)。 指针是有类型,指针的类型决定了指针的±整数的步长,指针解引用操作的时候的权限。 指针的运算。 关于初阶指针的讲解,????请点这里。 下面我们来进一步的探究指针的奥秘! 一、字符指针 在指针的类型中我们知道有一种指针类型为字符指针 char* 一般使用: int main() { char ch = 'w'; char原创 2021-09-12 16:07:39 · 200 阅读 · 0 评论 -
C语言中的数组及冒泡排序法
目录一、一维数组的创建和初始化1. 数组的创建2. 数组的初始化3. 一维数组的使用4. 一维数组在内存中的存储二、二维数组的创建和初始化1. 二维数组的创建2. 二维数组的初始化3. 二维数组的使用4. 二维数组在内存中的存储三、数组越界四、数组作为函数参数1. 数组名是什么?五、冒泡排序函数的设计 一、一维数组的创建和初始化 1. 数组的创建 数组是一组相同类型元素的集合。 数组的创建方式: type_t arr_name [const_n]; //type_t 是指数组的元素类型 //原创 2021-08-25 19:45:06 · 1031 阅读 · 0 评论 -
函数递归与迭代图解
目录一、函数递归1. 什么是递归?2. 递归的两个必要条件3. 练习二、递归与迭代(循环)1. 练习 一、函数递归 1. 什么是递归? 程序调用自身的编程技巧称为递归( recursion)。 递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。 它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。 递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。 递归的主要思考方式在于:把大事化小原创 2021-08-24 22:17:10 · 1187 阅读 · 0 评论 -
C语言中的函数
目录一、函数是什么?二、函数的分类1. 库函数1.1 库函数分类1.2 几个常见的库函数1.3 如何学会使用库函数?2. 自定义函数2.1 练习三、函数的参数1. 实际参数(实参)2. 形式参数(形参)四、函数的调用1. 传值调用2. 传址调用3. 练习五、函数的嵌套调用和链式访问1. 嵌套调用2. 链式访问六、函数的声明和定义1. 函数声明2. 函数定义 一、函数是什么? 维基百科中对函数的定义:子程序 在计算机科学中,子程序是一个大型程序中的某部分代码, 由一个或多个语句块组成。它负责完成某项特定任原创 2021-08-24 17:10:25 · 585 阅读 · 0 评论 -
【初阶】C语言之指针
目录一、指针是什么?1. 内存2. 指针3. 指针变量的大小二、指针和指针类型1. 指针类型的意义1.1 在指针解引用中的意义1.2 在指针+-整数中的意义三、野指针1. 野指针成因1.1 指针未初始化1.2 指针越界访问1.3 指针指向的空间释放2. 如何规避野指针2.1 指针初始化2.2 小心指针越界2.3 指针指向空间释放后立即置NULL2.4 避免返回局部变量的地址2.5 指针使用之前检查有效性四、指针运算1. 指针+-整数2. 指针-指针3. 指针的关系运算五、指针和数组1. 练习六、二级指针1.原创 2021-08-20 12:15:10 · 166 阅读 · 0 评论 -
⭐【goto语句】二分查找、猜数字小游戏及关机程序详解⭐
???? 1. 计算 n 的阶乘。 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { int n = 0; int i = 0; int ret = 1; printf("请输入一个整型数字:"); scanf("%d/n", &n); for (i = 1; i <= n; i++) { ret = ret * i; } printf("%d\n", ret); return原创 2021-08-18 18:44:58 · 240 阅读 · 0 评论 -
选择语句和循环语句
目录一、什么是语句?二、分支语句(选择结构)1. if语句1.1 悬空else1.2 if书写形式的对比1.3 练习1.4 注意2. switch语句2.1 在switch语句中的 break2.2 default子句2.3 练习三、循环语句1. while循环1.1 while语句中的break和continue2. for循环2.1 对比for和while循环2.2 for循环中的break和continue2.3 for语句的循环控制变量2.4 一些for循环的变种2.5 笔试题3. do...whi原创 2021-08-18 01:38:15 · 717 阅读 · 0 评论 -
【C表达式中的类型转换】教你快速搞懂整型提升!
目录 一、表达式求值 二、隐式类型转换 1. 什么是整型提升 2. 整型提升的意义 3. 如何进行整型提升 4. 例子 三、算术转换 一、表达式求值 表达式求值的顺序一部分是由操作符的优先级和结合性决定。 同样,有些表达式的操作数在求值的过程中可能需要转换为其它类型。 操作符的优先级和结合性在以前的博文操作符的属性中有详细介绍。 二、隐式类型转换 1. 什么是整型提升 C语言的整型算术运算总是至少以缺省整型类型的精度来进行的。 为了获得这个精度,表达式中的字符和短原创 2021-08-16 20:47:58 · 301 阅读 · 0 评论 -
✨✨C语言之结构体详解!
目录????一、结构体的声明 ✨1. 结构的基础知识????2. 结构的声明????3. 结构成员的类型????4. 结构体变量的定义和初始化????二、结构体成员的访问????1. 结构体变量访问成员????2. 结构体指针访问指向变量的成员????三、结构体传参 ????四、压栈 ????一、结构体的声明 ✨1. 结构的基础知识 结构是一些值的集合,这些值称为成员变量。 结构的每个成员可以是不同类型的变量。 ????2. 结构的声明 ⭐️ //结构体类型 struct原创 2021-08-12 14:04:01 · 243 阅读 · 0 评论 -
这些操作符你都了解吗?
目录一、原码、反码和补码1. 原码2. 反码3. 补码4. 特别注意二、操作符1.算术操作符2. 移位操作符2.1 左移操作符2.2 右移操作符3. 位操作符3.1 扩充3.2 小试牛刀4. 赋值操作符4.1 直接赋值4.2 复合赋值符5. 单目操作符5.1 单目操作符介绍5.2 sizeof 和 strlen区别6. 关系操作符6.1 警告7. 逻辑操作符7.1 笔试题8. 条件操作符(三目操作符)二、 逗号表达式三、表达式求值四、操作符的属性1. 操作符的优先级(由高到低)2. 操作符的结合性3. 控制原创 2021-08-11 15:26:20 · 253 阅读 · 0 评论 -
C语言入门
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、什么是C语言?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、什么是C语言? C语言是一门面向过程的、抽象化的通用程序设计语言,广泛引用于 二、使用步骤 1.引入库 代码如下(示例): import nu原创 2021-08-09 21:11:39 · 423 阅读 · 0 评论