《小鹅说 C 语言旧版》
文章平均质量分 92
由简到难,从入门-基础-进阶-扩展-实践持续更新 1-66 节笔记,适合没有编程基础的同学,或者需要复习C语言知识的同学。
小鹅编程笔记
鹅哥有鹅厂、锐捷等10多年的开发工作经验。我将分享一些1、Linux上uboot、驱动、内核、系统、应用方面的知识以及笔记. 2、C语言、Python、C++、Linux、前端学习笔记. 3、wx小程序开发笔记. 4、机器学习学习笔记.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《小菜狗 C 语言入门 + 进阶笔记》(0)简介
贪吃蛇游戏(单人/双人)俄罗斯方块2 - 跨平台。原创 2025-05-04 22:14:52 · 1606 阅读 · 0 评论
-
《小菜狗 C 语言入门 + 进阶笔记》(42)文件进阶操作 - 读写文件【重要,后面牛马经常用,fgetc,fputc,fgets,fputs,fwrite,fread,fscanf,fprintf】
返回读取的字符,返回的是字符的 ASCII 码值。如果到达文件末尾或者发生错误,返回 EOF ,即 (-1)。如果达到文件结尾或者发生读取错误,则返回 EOF ,即(-1)。如果发生错误,返回 EOF ,即 (-1)。如果成功写入字符,则返回写入的字符,以无符号字符表⽰。函数用于从指定流中读取格式化输入,并根据指定的格式化字符串将输入数据解析为相应的数据类型。函数用于从指定的文件流中读取单个字符,并将其返回为⼀个无符号字符。函数用于从指定的文件流中读取⼀行文本,并将其存储为⼀个字符串。原创 2025-06-23 20:23:51 · 1588 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(41)文件基本操作 - 打开关闭文件【文件编程中最经常使用的操作!】
《小菜狗 C 语言入门 + 进阶笔记》目录:《小菜狗 C 语言入门 + 进阶笔记》(0)简介操作文件的正确流程为:。文件在进行读写操作之前要。(1) 打开文件就是,例如文件名、文件状态、当前读写位置等,这些。(2) 关闭文件就是。(3) 文件有多种读写方式:(4) 文件的也非常灵活,可以从读取,也可以从读取。操作文件之前必须先打开文件:使用 来或者。这个调用会初始化类型 FILE 的一个对象,类型 FILE 包含了所有用来控制流的必要的信息。下面是这个函数调用的原型:功能:根据文件的名字和打开方式,打开⼀原创 2025-06-20 11:13:05 · 1482 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(1)开发环境搭建 -- 工具归纳
通过编辑器创建的文件通常称为源文件,C 程序的源文件通常使用扩展名 .c。在开始编程之前,请确保您有一个文本编辑器。如果你想要设置 C 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和C 编译器。以下推荐的安装目前就VSCode需要安装C 编译器。在开始编程之前,请确保您有一个文本编辑器,且有足够的经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。C 语言编译器用于把源代码编译成最终的可执行程序。最常用的免费可用的编译器是 GNU 的 C/C++ 编译器。原创 2025-04-14 10:15:16 · 1102 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(2)基本程序结构
printf() 函数括号中的内容称为函数的参数,括号内可以看到输出的字符串 “Hello, world\n”,其中 “\n” 表示换行操作,它不会输出到控制台。如果搭建环境时,安装了该插件,在新建工程后,可以看到菜单栏下方,有这几个按键,我们逐个点击“编译”,“运行”即可,编译完成运行后,可以看到打印了日志。此行代码中 return 语句的作用是将函数的执行结果返回,后面紧跟着函数的返回值,返回值一般用 0 或 -1 表示,0 表示正常,-1 表示异常。,可以输出单词 “Hello World”。原创 2025-04-14 10:44:32 · 982 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(3)头文件
源文件是用于存储计算机程序代码的文本文件。C 语言的源文件一般以 .c 为扩展名(如:上一个笔记里面的hello.c就是源文件)。源文件(.c)需要经过编译器编译,生成可执行文件(.exe)(**如:**上一个笔记里面的hello.exe就是生成的可执行文件)。这一步会将源代码转换为计算机可以理解的机器语言。头文件包含 C 函数函数声明、宏定义和类型定义的文件,这些头文件提供了源文件中需要使用的接口,被多个源文件中引用共享。头文件是扩展名为 .h 的文件,h 就是 head (头)的简称。原创 2025-05-05 10:28:54 · 1229 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(4)基础语法
暂时无法在飞书文档外展示此内容。原创 2025-05-06 09:02:37 · 1250 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(5)数据类型
在 C 语言中,数据类型指的是用于声明不同类型的变量或函数。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。C 中的数据类型可分为以下几种:每种数据类型都有变量和常量。其中 C 语言的基本数据类型大体有三种:整型(整数)、实型(小数/浮点数)、字符型。原创 2025-05-07 09:30:00 · 781 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(5.1)数据类型 - 强制类型转换
说到 “unsigned 类型储存的量太大”,顺带说一下,虽然 printf 输出 int 和 unsigned int 时可以混用 %d(或%i)和 %u(或%ui),但还是建议输出 int 类型的时候用 %d(或%i),输出 unsigned int 类型时用 %u(或%ui)(其它类型同理<如%ul 等>)**注意:**如果 unsigned 类型储存的量太大,强制类型转换后可能会出现非 unsigned 类型的值的绝对值不等于 unsigned 类型的值的绝对值的情况。原创 2025-05-08 09:00:00 · 1620 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(6)常量 - 转义字符 - ASCII 码
常量:是计算机程序运行过程中其值不能发生改变的量。这些固定的值,又叫做字面量。常量可以是任何的基本数据类型,比如整数常量、实型常量(浮点常量)、字符常量,或字符串常量,也有枚举常量。常量就像是常规的变量,常量的值在定义后不能进行修改。常量可以直接在代码中使用。也可以通过定义常量来使用,如底下7、定义常量。字符就是我们在键盘上敲出来的单个符号,如:A,a,1,@,#,$,~ 等等。字符常量就是用单引号括起来的单个普通字符(例如 ‘x’) 或转义字符。原创 2025-05-09 09:09:01 · 1112 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(7)变量
***是计算机程序运行过程中其值可以发生改变的量。:变量其实只不过是程序可操作的存储区的名称。变量指向某一块存储的区域。C 中每个变量都有特定的数据类型数据类型决定了变量存储的大小和布局。基于前一章(2.5)C 语言编程入门 – C 数据类型讲解的基本数据类型变量的定义的基本语法变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,如下所示:<数据类型> <变量名>;<数据类型> <变量名 1> [ , <变量名 2> , <变量名 3> , …];type必须是一个有效的 C。原创 2025-05-10 15:00:00 · 1134 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(8)输入 & 输出语句(1)【全网最全占位符归纳解析!】
想象一下你在玩一个游戏,游戏需要你给它一些信息,比如你的名字或者你想选择的角色。这个过程叫做“输入”。当游戏告诉你你的得分、下一步应该做什么,这个过程叫做“输出”。原创 2025-05-12 09:30:00 · 1225 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(9)输入 & 输出语句(2)【你知道%20.15f是什么意思嘛?】
暂时无法在飞书文档外展示此内容。原创 2025-05-13 09:00:00 · 1059 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(10)函数入门 -- 保证入门
库函数再好,提供的功能还是有限的;日常写代码的需求是千变万化的,所以还是需要程序员写各种各样的代码,这些代码也是由⼀个个函数组成。因此,我们自己设计和实现的函数,称为自定义函数main 函数也算是自定义函数。3.1、C 语言中的函数定义的一般形式返回类型 函数名 ( [参数列表] )函数主体[ ]说明此参数是可省略的。如之前的文章(2.2)基本程序结构中的C 实例 -- Hello World就是一个标准的函数定义模版。#include <stdio.h> //头文件//空白行。原创 2025-05-14 08:45:00 · 5416 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(11)main 函数详解 及 C 语言是不是必须有 main 函数?
在 gcc 编译器下,如何去掉 main 函数。仅仅作为参考学习使用。先来个测试代码,代码里面包含两个函数,函数写的时候要注意加上退出方式,因为我们下面要做的不是一个正常的操作,正常的 C 语言 main 函数前后都还会有初始化和回收操作。exit(0);//退出程序并返回值 0exit(0);//退出程序并返回值 0通过链接脚本、启动代码以及 ld 命令的 -e 参数等方式,程序员可以在编译和链接的过程中插入自定义的逻辑,从而控制程序的启动过程。原创 2025-05-15 09:15:00 · 1193 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(12)函数进阶 -- 声明与调用
其实不然,头文件中包含的都是函数声明,而不是函数定义,函数定义都放在了其它的源文件中,这些源文件已经提前编译好了,并以动态链接库或者静态链接库的形式存在,只有头文件没有系统库的话,在链接阶段就会报错!同时⼀般在企业中我们写代码时候,代码工程比较大,往往都是几千行、上万行、百万行的代码,将这些代码都放在一个源文件中简直是灾难,不但检索麻烦,而且打开文件也很慢,所以必须将这些代码分散到多个文件中。⼀般情况下,函数的声明、类型的声明、常量的定义是放在头文件(.h)中,函数的实现是放在源文件(.c)文件中。原创 2025-05-16 08:00:00 · 1104 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(13)形参和实参
实际上,如果只是定义了 Add 函数,而不去调用的话,Add 函数的参数 x 和 y 只是形式上存在的,不会向内存申请空间,不是真实存在的,所以叫。形参和实参可以同名,因为它们之间是相互独立的,互不影响,因为实参在函数外部有效,而形参在函数内部有效。Add 函数运行结束后,形式参数只有在函数被调用的过程中为了存放实参传递过来的值,才向内存申请空间,这个过程就是。也可以是更加复杂的类型,可以是数组,可以是指针,等我们后期学习指针的时候再讲解。形参和实参的功能是传递数据,发生函数调用时,实参的值会传递给形参。原创 2025-05-17 10:30:00 · 623 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(14)作用域 -> 局部变量和全局变量
定义在某个函数或块的内部声明的变量称为局部变量。它们只能被该函数或该代码块内部的语句使用。局部变量在函数外部是不可知的。它的作用域仅限于函数内部,离开该函数后就是无效的。定义在所有函数外部定义的变量称为全局变量。全局变量是定义在函数外部,通常是在程序的顶部。全局变量在整个程序生命周期内都是有效的,全局变量可以被任何函数访问。也就是说,全局变量在定义后整个程序中都是可用的。它的作用域默认是整个程序,也就是所有的源文件,包括 .c 和 .h 文件。原创 2025-05-18 11:00:00 · 934 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(15)运算符【全网最全运算符归纳解析!】
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符运算符优先级位运算符作用于位,并逐位执行操作。pqp & qp | qp ^ q00000010111111010011运算符描述实例对两个操作数的每一位执行逻辑与操作,如果两个相应的位都为 1,则结果为 1,否则为 0。按位与操作,按二进制位进行"与"运算。运算规则:0&0=0;0&1=0;1&0=0;1&1=1;原创 2025-05-19 10:00:00 · 1221 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(16)if else 判断语句【重点】
上⾯的代码排版,让 else 和第⼀个 if 语句对⻬,让我们以为 else 是和第⼀个 if 匹配的,当 if 语句不成立的时候,⾃然想到的就是执行 else ⼦句,打印 haha ,但实际上 else 是和第⼆个 if 进行匹配的,这样后边的 if…else 语句是嵌套在第⼀个 if 语句中的,如果第⼀个 if 语句就不成立,嵌套 if 和 else 就没机会执行了,最终啥都不打印。只要带上适当的大括号,代码的逻辑就会更加的清晰,所以大家以后在写代码的时候要注意括号的使用,让代码的可读性更⾼。原创 2025-05-20 10:00:00 · 5407 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(17)复杂判断语句和 运算符【判断语句运算符的最全讲解】
用于比较的表达式,称为关系表达式。运算符描述实例==检查两个操作数的值是否相等,如果相等则条件为真。(A == B) 为假。!检查两个操作数的值是否相等,如果不相等则条件为真。(A!= B) 为真。检查左操作数的值是否大于右操作数的值,如果是则条件为真。(A > B) 为假。检查左操作数的值是否小于右操作数的值,如果是则条件为真。(A < B) 为真。>=检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。(A >= B) 为假。<=原创 2025-05-21 10:00:00 · 2066 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(18)switch 判断语句
(1)switch 语句中的 expression 是一个常量表达式,必须是一个整型或枚举类型。(2)在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值(整数)和一个冒号。break;//正确break;//正确break;//正确,字符和整数可以相互转换break;//正确,字符和整数可以相互转换break;//错误,不能为小数break;//错误,不能包含变量break;//错误,不能包含变量。原创 2025-05-22 09:15:00 · 869 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(18.1)判断案例分析
【代码】《小菜狗 C 语言入门 + 进阶笔记》(18.1)判断案例分析。原创 2025-05-24 11:00:00 · 318 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(19)while 循环
执行完“语句块”,再次计算表达式的值,如果为真,继续执行“语句块”……总的来说,while 循环适用于在循环之前检查条件,而 do while 循环适用于至少执行一次循环体,不管条件是否成立。如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 表达式。这样,随着循环的不断执行,循环条件中变量的值也会不断变化,终有一个时刻,循环条件不再成立,整个循环就结束了。表达式可以是一个单独的语句,也可以是几个语句组成的代码块,循环语句允许我们多次执行一个语句或语句组。原创 2025-05-23 10:30:00 · 1470 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(20)for 循环【重点】
while 循环和 for 循环在实现循环的过程中都有初始化、判断、调整这三个部分,但是 for 循环的三个部分非常集中,便于代码的维护,而如果代码较多的时候 while 循环的三个部分就比较分散,所以从形式上 for 循环要更优⼀些。原创 2025-05-26 09:15:00 · 1184 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(21)嵌套循环和循环练习
本例是一个简单的 for 循环嵌套,外层循环和内层循环交叉执行,外层 for 每执行一次,内层 for 就要执行四次。在 C 语言中,代码是顺序、同步执行的,当前代码必须执行完毕后才能执行后面的代码。这就意味着,外层 for 每次循环时,都必须等待内层 for 循环完毕(也就是循环 4 次)才能进行下次循环。虽然 i 是变量,但是对于内层 for 来说,每次循环时它的值都是固定的。原创 2025-05-27 09:30:00 · 677 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(0)(22)详解循环的 break 和 continue【易错点】
本来 for 循环想提前退出得使用 break,⼀个 break 只能跳出⼀层 for 循环,如果 3 层循环嵌套就得使用 3 个 break 才能跳出循环,所以在这种情况下我们使用 goto 语句就会更加的快捷。对于 while 和 do…break 的作用是永久的终止循环,未来我们在某个条件发⽣的时候,不想再继续循环的时候,就可以使用 break 来完成。未来我们在循环中,当某个条件发⽣的时候,本次循环⽆需再执行后续某些操作的时候,就可以使用 continue 来实现。成立,开始第一次循环。原创 2025-05-28 09:30:00 · 1034 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(23)对选择结构和循环结构的总结
不过由于 goto 语句很容易造成代码混乱,维护和阅读困难,饱受诟病,不被推荐,而且 goto 循环完全可以被其他循环取代,所以后来的很多编程语言都取消了 goto 语句,我们也不再讲解。所谓“跳出”,是指一旦遇到 break,就不再执行 switch 中的任何语句,包括当前分支中的语句和其他分支中的语句;else 是最基本的结构,switch…else 可以嵌套使用,原则上嵌套的层次(深度)没有限制,但是过多的嵌套层次会让代码结构混乱。for 循环是最常用的循环,它的功能强大,一般都可以代替其他循环。原创 2025-05-29 10:11:30 · 425 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(24)数组入门 -- 保证入门【很重点】
《小菜狗 C 语言入门 + 进阶笔记》目录:《小菜狗 C 语言入门 + 进阶笔记》(0)简介暂时无法在飞书文档外展示此内容变量的出现使得我们可以存放单个的数据,那假设我们有⼀组数据,比如:某个班级的数学成绩有 30 个数据,我们就需要创建 30 个变量去存储码?这时候 C 语⾔中给了⼀个数组的概念,可以让我们创建⼀块连续的空间来存放⼀组数据。数组是⼀组。数组的定义并不是声明一个个单独的变量,比如 ,而是声明一个数组变量,使用 来代表一个个单独的变量。我们把这样的一组数据的集合称为,它所包含的每一个数据叫原创 2025-05-29 15:02:37 · 1551 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(25)字符与字符串【常用】
(1)C 语言有多个函数可以从键盘获得用户输入scanf():是通用的输入函数,它可以读取多种类型的数据。:这三个函数都用于输入单个字符。gets():获取一行数据,并作为字符串处理。(2)C 语言有多个函数可以从键盘获得用户输出printf():可以输出多种类型的数据。:这三个函数都用于输出单个字符。puts():输出一串数据。其中scanf()、getchar()、gets() 是标准函数,适用于所有平台;getche() 和 getch()不是标准函数,只能用于 Windows。原创 2025-05-30 09:15:00 · 1888 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(26)输入 & 输出语句(3)-- C 语言所有输入输出函数总结
(1)C 语言有多个函数可以从键盘获得用户输入scanf():是通用的输入函数,它可以读取多种类型的数据。:这三个函数都用于输入单个字符。gets():获取一行数据,并作为字符串处理。(2)C 语言有多个函数可以从键盘获得用户输出printf():可以输出多种类型的数据。:这三个函数都用于输出单个字符。puts():输出一串数据。其中scanf()、getchar()、gets() 是标准函数,适用于所有平台;getche() 和 getch()不是标准函数,只能用于 Windows。函数。原创 2025-05-30 16:41:43 · 739 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(27)字符数组
例如有一个长度为 10 的整型数组,它所包含的元素按照从小到大的顺序(升序)排列,假设比较到第 4 个元素时发现它的值大于输入的数字,那么剩下的 5 个元素就没必要再比较了,肯定也大于输入的数字,这样就减少了循环的次数,提高了执行效率。因为数组元素是升序排列的,所以当 nums[i] > num 时,i 后边的元素也都大于 num 了,num 肯定不在数组中了,就没有必要再继续比较了,终止循环即可。,就到达了字符串的末尾,然而事实却不是这样,由于我们并未对最后 4 个元素赋值,所以第 26 个元素不是。原创 2025-06-03 09:30:00 · 1401 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(28)字符串处理函数【一文讲清 strlen strcpy strcmp strcat 最常用四个字符串函数的使用!】
用来比较 str1 和 str2 指向的字符串,从两个字符串的第⼀个字符开始比较,如果它们相等,就继续比较下一个字符,直到遇见不同的字符,或者到字符串的末尾。str1 数组是使用常量字符串初始化,也是不完全初始化,前⾯ 7 个元素存放了 a、b、c、d、e、f、\0,剩余的元素默认初始化为 0,也就是 \0。str2 数组是使用大括号的⽅式初始化,也是不完全初始化,前⾯ 6 个元素存放了 a、b、c、d、e、f,剩余的元素默认初始化为 0,也就是 \0。字符串拷贝,拷贝到源头字符串中的 \0 为⽌。原创 2025-06-04 09:45:00 · 1216 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(29)二维数组入门
一个二维数组,在本质上,是一个一维数组的列表,一个二维数组可以被认为是一个带有 x 行和 y 列的表格。type可以是任意有效的C 数据类型arrayName是一个有效的C 标识符,也就是数组名。将二维数组看做一个 Excel 表格,有行有列,x 表示行数,y 表示列数,要在二维数组中定位某个元素,必须同时指明行和列。3 表示数组有 3 行;4 表示每⼀行有 4 个元素;int 表示数组的每个元素是整型类型;a 是数组名,可以根据⾃己的需要指定名字;二维数组在概念上是二维的,但在。原创 2025-06-05 09:30:00 · 623 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(30)二维数组进阶
因为每一行有四个元素,每个 int 类型的元素占四个字节,一行有 16 个字节,所以数组名 age 加 1 后地址增加了 16 个字节说明数组名的步长位一行的长度。它的好处是不必在开发时,随意为数组指定⼀个估计的长度,程序可以在运行时为数组分配精确的长度。数组 arr 就是变长数组,因为它的长度取决于变量 n 的值,编译器没法事先确定,只有运行时才能知道 n 是多少。其实二维数组访问也是使用下标的形式的,二维数组是有行和列的,只要锁定了行和列就能唯⼀锁定数组中的⼀个元素。,这是由编译器原理限制的。原创 2025-06-06 09:45:00 · 826 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(31)指针入门 1 -- 内存与地址【重点来了!看文章就能看懂指针】
变量名和函数名为我们提供了方便,让我们在编写代码的过程中可以使用易于阅读和理解的英文字符串,不用直接面对二进制地址,否则都是地址的场景简直让人崩溃。表示取值操作,整个表达式的意思是:取出地址 0X1000 和 0X2000 上的值,将它们相加,把相加的结果赋值给地址为 0X3000 的内存。为了正确地访问这些数据,必须为每个字节都编上号码,就像门牌号、身份证号一样,每个字节的编号是唯一的,根据编号可以准确地找到某个字节。,你的外卖小哥来给你送外卖,如果想找到你,就得挨个房子去找,这样效率很低,原创 2025-06-07 10:45:00 · 1678 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(32)指针入门 2 -- 指针到底是什么?(非常重要,解刨得很透彻)
像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明定义。在这里,type是指针的数据类型var_name是指针变量的名称。用来声明指针的\*与乘法中使用的星号是相同的。但是,在这个语句中,星号 *是用来表示这是一个指针变量。指针变量存储了数据的地址,通过指针变量能够获得该地址上的数据。这里的声明时是用来表示这是一个指针变量;使用时是用来取得某个地址上的数据。int *ip;/* 一个整型的指针 */double *dp;/* 一个 double 型的指针 */原创 2025-06-09 11:13:44 · 1060 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(33)指针入门 3 -- 指针运算i++,i--,以及特殊指针void*,NULL
在我们目前所学到的语法中,星号表示乘法,例如c = a * b;,这是最容易理解的。表示定义一个指针变量,以和普通变量区分开,例如。表示获取指针指向的数据,是一种间接操作,例如*p = 100;b = *p;。《小菜狗 C 语言入门 + 进阶笔记》(0)简介每日一更!公众号、优快云等博客:小菜狗编程笔记目前在飞书持续优化更新~原创 2025-06-10 10:59:25 · 1213 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(34)结构体入门 -- 保证入门
book = {"C 语言", "BoBo", "编程语言", 123456};int main()不过整体赋值仅限于定义结构体变量的时候,在使用过程中只能对成员逐一赋值,这和数组的赋值非常类似。原创 2025-06-11 10:03:31 · 707 阅读 · 0 评论 -
《小菜狗 C 语言入门 + 进阶笔记》(35)什么是枚举?(enum)相信很多学过 C 语言的小伙伴是不是没怎么用过?
枚举是 C 语言中的一种基本数据类型,用于定义一组具有离散值的常量,它可以让数据更简洁,更易读。定义一个枚举类型,需要使用enum关键字,后面跟着枚举类型的名称,以及用大括号 {}括起来的一组枚举常量。每个枚举常量可以用一个标识符来表示,也可以为它们指定一个整数值。如果没有指定,那么默认从 0 开始递增。enum 枚举名 {枚举元素1, 枚举元素2, ……};以下定义的都是枚举类型。{} 中的内容是枚举类型的可能取值,也叫枚举常量。//星期enum DayMon,Tues,Wed,Thur,原创 2025-06-12 10:48:37 · 999 阅读 · 0 评论
分享