
深入浅出C语言
深入浅出C语言:专门对数组、指针、结构体、链表、内存管理、位操作、高级数据表示等进行深入浅出的讲解。
Sumjess
嵌入式
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言进阶 ~ 一级指针与字符串
2.1 指针强化2.2 一级指针(char*)易错地方2.2.1 对空字符串和非法字符串的判断2.2.2 越界2.2.3指针的叠加会不断改变指针的方向2.2.4局部变量不要外传2.2.5函数内使用辅助变量的重要性2.3字符串2.3.1字符串初始化2.3.2数组法和指针法操作字符串2.3.3字符串拷贝函数 strcpy剖析片段程序2.4const2.4.1冒牌的 “const”2.4.2const与指针原创 2020-05-07 09:59:37 · 1539 阅读 · 0 评论 -
C语言进阶 ~ 内存四区(栈、堆、全局、代码区)
特别声明:该部分是根据B站大佬---什么都想干好的视频学习而来。1.1 数据类型本质分析1.1.1 数据类型概念“类型”是对数据的抽象 类型相同的数据有相同的表示形式、存储格式以及相关的操作 程序中使用的所有数据都必定属于某一种数据类型1.1.2 数据类型的本质数据类型可理解为创建变量的模具:是固定内存大小的别名。 数据类型的作用:编译器预算对象(变量)分配的内存空...原创 2020-03-05 20:16:42 · 6845 阅读 · 3 评论 -
严重性代码说明项目文件行 禁止显示状态错误 C4996 fopen('fscanf'、strcmp):This function or variable may be unsafe. 最全解决办法
解决fopen、fscanf 在VS中要求替换为fopen_s、fscanf_s的最全解决办法 -------------- ps:在使用MFC中遇到上述问题,可以通过方法三解决方法一:在程序最前面加#define _CRT_SECURE_NO_DEPRECATE;方法二:...转载 2020-02-24 15:49:17 · 1448 阅读 · 0 评论 -
手把手教你写贪吃蛇(C语言)
目录前言:程序包下载一、涉及C语言知识点二、贪吃蛇相关库函数及其头文件简介:1、#include(1)void fflush(stdin)(2)CONSOLE_CURSOR_INFO(3)GetConsoleCursorInfo(4)SetConsoleCursorInfo2、#include(1)rand()(2)void srand(unsig...原创 2020-02-07 19:59:28 · 9386 阅读 · 2 评论 -
字、字节、位、字长?区别?关系?
目录一、数据存储单位1、什么是位?2、什么是字节?3、什么是字?4、关系:1 字 = 2字节 = 16 位5、字符与字节对应关系6、常见数据类型的大小二、字长一、数据存储单位1、什么是位? 所谓位,是最基本的概念,在计算机中,由于只有逻辑0和逻辑1的存在,因此很多东西、动作、数字都要表示为一串二进制的字码例如: 1001 0000 1101...原创 2020-02-05 20:33:41 · 49549 阅读 · 9 评论 -
深入浅出C语言:汇总贴
目录深入浅出C语言汇总贴转载帖深入浅出C语言汇总贴深入浅出C语言:(一)数组深入浅出C语言:(二)指针深入浅出C语言:(三)C 语言数组指针(指向数组的指针)深入浅出C语言:(四)函数深入浅出C语言:(五)函数与指针和数组深入浅出C语言:(六)基础部分 NO.1 数据类型和运算符、表达式和语句深入浅出C语言:(七)基础部分 NO.2 C 控制语句 --- 循...原创 2019-10-06 09:43:22 · 1655 阅读 · 2 评论 -
深入浅出C语言:(十一)C 语言结构体
目录一、什么是结构体?1、结构体的简述2、结构体变量3、成员的获取和赋值二、结构体数组三、结构体指针(指向结构体的指针)1、结构体指针的基本用法2、获取结构体成员3、结构体指针作为函数参数四、C 语言枚举类型(enum 关键字)五、C 语言共用体(union 关键字)1、共用体也是一种自定义类型,可以通过它来创建变量2、共用体的应用六、C 语...原创 2019-10-06 19:58:08 · 1391 阅读 · 0 评论 -
深入浅出C语言:(十二)位操作
目录一、按位与运算(&)二、按位或运算(|)三、按位异或运算(^)四、取反运算(~)五、左移运算(<<)六、右移运算(>>)七、修改寄存器的位操作方法1、把变量的某位清零2、把变量的某几个连续位清零3、对变量的某几位进行赋值4、对变量的某位取反C 语言提供了六种位运算符:运算符 & | ^...原创 2019-10-06 19:59:16 · 1605 阅读 · 0 评论 -
深入浅出C语言:(十三)C 语言文件操作
目录一、C 语言中的文件是什么?二、C 语言打开文件: fopen()函数的用法1、 fopen()函数的概述2、fopen() 函数的返回值3、fopen() 函数的打开方式4、关闭文件5、实例演示:三、以字符形式读写文件1、字符读取函数 fgetc2、实例演示:3、字符写入函数 fputc4、示例:从键盘输入一行字符,写入文件。四、以字符串的...原创 2019-10-07 12:43:54 · 1300 阅读 · 3 评论 -
C/C++ 数学库文件 (math.h)
目录1、三角函数 Trigonometric functions1.1、 cos() 函数1.2 sin() 正弦函数1.3、 tan() 正切函数1.4、 acos() 反余弦函数1.5、asin() 反正弦函数1.6、atan() 反正切函数1.7、atan2() 带两个参数的反正切函数2、双曲函数 Hyperbolic functions2.1、双曲余...转载 2019-10-05 20:19:16 · 18919 阅读 · 3 评论 -
深入浅出C语言:(十)C预处理
目录一、C 语言#include 的用法(文件包含命令)二、C 语言宏定义(#define 的用法)1、#define 的基础用法2、C 语言带参数的宏定义3、对带参宏定义的说明4、用宏参数创建字符串:#运算符5、预处理器粘合剂:##运算符6、变参宏:...和_ _VA_ARGS_ _三、其他指令1、#undef指令2、#ifdef、#else和#end...原创 2019-10-05 20:19:05 · 804 阅读 · 0 评论 -
深入浅出C语言:(九)存储类别、链接和内存管理
目录一、存储类别---暂不更新二、随机数函数和静态变量1、rand() 函数的用法2、rand() 函数---随机数的本质3、srand() 函数---重新播种4、生成一定范围内的随机数5、连续生成随机数三、分配内存:malloc()和free()1、malloc()函数2、free()函数3、calloc()函数四、ANSI C类型限定符1、c...原创 2019-10-05 11:39:45 · 681 阅读 · 0 评论 -
深入浅出C语言:(一)数组
目录1、const作用:2、当{ }中值的个数少于元素个数时:3、二维数组的两种赋值方式:4、将字符串一次性地赋值(可以指明数组长度,也可以不指明):5、字符数组中的'\0':6、花式初始化赋值:7、计算元素个数:为了严谨:建议初始化一定要赋值。1、const作用:#define MONTHS 12int days[MONTHS] = { 31, ...原创 2019-09-30 11:54:30 · 1107 阅读 · 0 评论 -
深入浅出C语言:(二)指针
目录一、C 指针变量的定义和使用:1、指针的定义和赋值:2、通过指针变量取得数据(获取内存上的数据):3、修改内存上的数据:4、关于 * 和 & 的谜题:5、对星号*的总结:6、总结:二、指针变量的运算(加法、减法和比较运算):三、二级指针(指向指针的指针)四、指针的总结: CPU 访问内存时需要的是地址,而不是变量名和函数名!...原创 2019-09-30 15:57:58 · 1234 阅读 · 0 评论 -
深入浅出C语言:(三)C 语言数组指针(指向数组的指针)
目录一、C 语言数组指针(指向数组的指针)二、C 语言字符串指针(指向字符串的指针)三、C 语言指针数组(数组每个元素都是指针)四、二维数组指针(指向二维数组的指针)五、指针数组和二维数组指针的区别:六、常见指针变量的例子集合:见下图一、C 语言数组指针(指向数组的指针)① 定义数组时,要给出数组名和数组长度,数组名可以认为是一个指针,它指向数组的第 0 个元素...原创 2019-09-30 16:21:07 · 17104 阅读 · 10 评论 -
深入浅出C语言:(四)函数
目录一、函数调用详解(从中发现程序运行的秘密)二、函数声明以及函数原型三、全局变量和局部变量四、C 语言变量的作用域五、C 语言块级变量(在代码块内部定义的变量)六、再谈作用域七、C 语言递归函数(递归调用)八、递归的条件一、函数调用详解(从中发现程序运行的秘密)在 C 语言中,函数调用的方式有多种,例如:1. 函数作为表达式中的一项出现在表达式中2...原创 2019-10-01 14:44:28 · 3652 阅读 · 0 评论 -
深入浅出C语言:(五)函数与指针和数组
目录一、用指针来实现对函数的调用二、指针变量作为函数参数三、用数组作函数参数四、指针作为函数返回值一、用指针来实现对函数的调用 一个函数总是占用一段连续的内存区域,函数名在表达式中有时也会被转换为该函数所在内存区域的首地址,这和数组名非常类似。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使指针变量指向函数所在的内存区域,然后通过指针变量就可以找...原创 2019-10-01 19:18:35 · 657 阅读 · 0 评论 -
深入浅出C语言:(六)基础部分 NO.1 数据类型和运算符、表达式和语句
目录一、数据类型1、变量(Variable)2、数据类型(Data Type)3、C 语言中的整数(short,int,long)4、二进制数、八进制数和十六进制数的表示5、二进制数、八进制数和十六进制数的输出6、C 语言中的正负数及其输出7、C 语言中的小数(float,double)8、在 C 语言中使用英文字符9、C 语言转义字符二、运...原创 2019-10-02 17:07:25 · 1533 阅读 · 0 评论 -
深入浅出C语言:(七)基础部分 NO.2 C 控制语句 --- 循环、分支和跳转
目录一、逻辑运算的结果二、优先级三、C 语言条件运算符(? :) 详解四、do-while 循环五、C 语言跳出循环(break 和 continue)六、选择结构七、循环结构一、逻辑运算的结果1) 与运算(&&)参与运算的两个表达式都为真时,结果才为真,否则为假。例如:(5>0) && (4>2)5>...原创 2019-10-03 00:14:44 · 523 阅读 · 0 评论 -
深入浅出C语言:(八)基础部分 NO.3 字符串和字符的输入和输出
目录一、C 语言数据输出大汇总puts()、putchar()、printf()二、scanf 读取从键盘输入的数据(含输入格式汇总表)scanf三、C 语言输入字符和字符串(所有函数大汇总)getchar()、 getche()、 getch()、gets()四、总结五、相关函数例程:1、不幸的gets(现大部分编译器不支持)2、fgets()3、gets_s()...原创 2019-10-03 10:56:37 · 1398 阅读 · 1 评论