C语言进阶教程
文章平均质量分 86
花落已飘
阿里云博客专家,CSDN万粉博主,华为云享专家。擅长C语言单片机等技术智能小车带设计,单片机C语言设计。可以带徒弟学C语言,C加加,Linux,单片机,QT等嵌入式技术。也可承接项目。
展开
-
C语言进阶教程(位操作和进制数的表示)
本篇文章给大家讲解一下C语言中的位操作,在嵌入式中位操作是经常需要使用的,那么下面就让我们来学习一下C语言中的位操作吧。本篇文章就讲解到这里,希望大家将上面讲解的知识牢牢掌握。原创 2023-09-19 08:11:44 · 286 阅读 · 0 评论 -
C语言进阶教程(函数参数的秘密)
本篇文章带大家学习一下函数的参数,函数的参数有很多同学认为就是很简单的东西,但是里面却包含了非常多的知识。函数调用栈(Function Call Stack),也称为调用栈、执行栈或运行栈,是计算机程序在执行函数调用及返回时所使用的一种数据结构。它主要用于跟踪函数的调用关系、保存函数的局部变量和控制函数的执行流程。函数调用栈是基于栈(Stack)数据结构实现的。栈是一种特殊的数据结构,遵循"后进先出"(Last-In-First-Out, LIFO)的原则。原创 2023-06-28 10:55:17 · 282 阅读 · 0 评论 -
C语言进阶教程(函数指针详解)
本篇文章将带大家学习函数指针的详细使用方法,函数指针在C语言高级中用的是非常多的,那么下面我们就来学习一下函数指针的具体用法吧。返回类型(* 指针变量名)(参数类型 1 , 参数类型 2 , . . .);这里的指针变量名是函数指针的名称,可以根据需要自定义。// 直接定义函数指针并指向add函数 int(* ptr)(int , int) = add;// 使用函数指针调用add函数 int result = ptr(10 , 20);return 0;原创 2023-06-28 09:26:34 · 309 阅读 · 0 评论 -
C语言进阶(反码和补码)
本篇文章我们主要来讲解C语言中的反码和补码,这个可能是大家比较容易忽略的点,那么这篇文章就带大家来学习一下什么是反码和补码。本篇文章主要给大家讲解了反码和补码的原理,以及如何在程序中打印出反码和补码,大家看完后好好总结学习。原创 2023-06-28 08:39:29 · 1448 阅读 · 1 评论 -
C语言进阶教程(include只能包含.h文件吗?)
include在多文件编程中是非常重要的,我们经常使用他来包含一些头文件,方便我们管理代码和项目,那么include是只能包含头文件吗?这篇文章将会告诉大家include是不是只能包含头文件。本篇文章就讲解到这里,大家学习完后尽量多做实验。原创 2023-06-28 01:00:00 · 2078 阅读 · 1 评论 -
C语言进阶教程(数组指针和指针数组)
本篇文章我们来讲解数组指针和指针数组,讲到这里可能很多人都会很懵,那么这篇文章将带大家梳理一下这两个的具体区别。本篇文章就讲解到这里,希望大家看完之后好好理解一下这部分内容。原创 2023-06-26 01:00:00 · 276 阅读 · 0 评论 -
C语言进阶教程(字符串深入)
其实在C语言中是没有真正的字符串的,在C语言中字符串都是使用字符数组来完成的。本篇文章就讲解到这里,下篇文章继续讲解字符串。原创 2023-06-25 11:30:33 · 213 阅读 · 0 评论 -
C语言进阶教程(再论指针和数组3)
本篇文章继续讲解指针和数组。本篇文章就讲解到这里。原创 2023-06-25 10:45:09 · 194 阅读 · 0 评论 -
C语言进阶教程(再论指针和数组(2))
本篇文章我们继续讲解指针和数组,因为指针和数组对于刚刚学习C语言或者是学习了不久C语言的同学都会造成一些困扰,所以这里多用几篇文章来帮助大家理解。本篇文章我们主要就是讲解了指针的运算,这些大家必须牢牢掌握。原创 2023-06-24 07:21:11 · 386 阅读 · 0 评论 -
C语言进阶教程(再论指针和数组 (1))
本篇文章我们再来一起讨论指针和数组的使用,很多同学在一块都有比较大的欠缺,所以这里专门用一篇文章来进行讲解。本篇文章就介绍到这里,下一篇文章我们继续讲解指针和数组的知识。原创 2023-06-23 06:45:14 · 377 阅读 · 0 评论 -
C语言进阶教程(传值调用和传址调用的区别)
本篇文章开始我将带大家深入的学习C语言中指针的使用方法,讲解一些容易出错的地方。本篇文章就讲解到这里,希望大家理解什么是传值调用什么是传址调用。原创 2023-06-22 07:38:40 · 506 阅读 · 0 评论 -
C语言进阶教程(const定义的变量真的不能被改变吗?)
本篇文章将为大家讲解const定义的变量到底能不能被改变。很多同学会误认为const定义的变量就是常量,那么常量是不可被修改的,所以说const定义的变量也是不可被修改的,这是一个错误的观点,其实const定义的变量属性是一个只读的变量属性,而不是常量。const定义的变量本质还是变量是可变的,不是常量。const修饰的变量只是告诉编译器改变量不能出现在赋值符号的左边。原创 2023-06-23 06:44:53 · 1955 阅读 · 4 评论 -
C语言进阶教程(内存分配常见问题分析)
本篇文章带大家学习一下内存分配常见的一些问题,内存分配相信大家都会用但是里面有一些容易出错的地方大家可能都不会注意到,那么这篇文章就来给大家讲解内存分配容易出现的错误。内存分配的问题需要大家平时注意代码的编写习惯,malloc分配后内存必须使用free释放,同时杜绝使用野指针。原创 2023-06-23 06:42:37 · 362 阅读 · 0 评论 -
C语言进阶教程(#运算符和##运算符)
本篇文章来介绍#运算符和##运算符的使用,这两个运算符大家应该是比较少见到,那么这篇文章将带大家来使用一下#运算符和##运算符。在C语言中,# 运算符和 ## 运算符是用于宏定义和宏展开的特殊运算符。在宏定义中,# 运算符用于将宏参数转换为字符串字面量。它可以将宏参数替换为字符串,并在编译时进行字符串拼接操作。// 输出 "Hello"// 输出 "Hello"// 输出 "Hello"在上述示例中,#x 将宏参数 x 转换为字符串。原创 2023-06-22 07:36:53 · 1387 阅读 · 0 评论 -
C语言进阶教程(volataile是干嘛的?)
本篇文章来给大家介绍volataile的意义和具体使用方法,很多同学学习了C语言可能都没有接触过这个关键字,这个关键字看起来是很少使用,但是在嵌入式开发中这个关键字还是比较重要的。总结起来,volatile 关键字用于标识那些可能被外部因素修改的变量,告诉编译器不要对其进行优化,以确保每次访问或操作都从内存中读取或写入变量的值。这对于多线程环境、硬件寄存器以及中断处理等场景非常有用。然而,需要注意,在多线程环境下,volatile 不能保证原子性,还需要结合其他同步机制来确保正确性。原创 2023-06-22 07:53:43 · 384 阅读 · 0 评论 -
C语言进阶教程(再论struct,union,enum)
本篇文章我们再来讨论struct,union,enum这三大结构。这三大结构很容易让人晕头转向,所以现在我们再来分析一下吧。需要注意的是,每个类型在不同的应用场景中可能具有不同的用途。结构体、联合和枚举都提供了灵活的方式来定义和操作自定义类型,以适应不同的编程需求。原创 2023-06-21 09:01:56 · 414 阅读 · 1 评论 -
C语言进阶教程(static到底有啥用?)
本篇文章将给大家介绍static的用法,很多同学都是只听过这个static但是在实际工程里面好像很少使用到,那么这篇文章就会告诉大家static到底有什么作用吧。在C语言中,static 是一个关键字,它可以用于变量、函数和块作用域。它的含义和作用取决于它应用的上下文。静态变量在函数内部或块作用域内声明,但其生存周期与程序的整个运行时间相同。静态变量的作用主要有两个方面:静态变量在每次函数调用之间保持其值不变。即使函数返回并重新调用,静态变量仍然保持上一次的值。原创 2023-06-21 08:48:20 · 334 阅读 · 0 评论 -
C语言进阶教程(还在乱用define和typedef吗)
本篇文章将讲解define和typedef的具体用途和区别。本篇文章就到此结束了,希望这篇文章可以帮大家摆脱define和typedef傻傻分不清的困扰。原创 2023-06-20 10:46:13 · 586 阅读 · 0 评论 -
C语言进阶教程(一个可执行文件生成的具体步骤)
本篇文章来讲解一个.c文件生成一个可执行文件的完整过程,我们学习了那么久,只知道在编译器中按下编译运行就可以将一个.c文件运行起来了,但是我们并不了解其中的具体步骤,那么下面我将会在Linux环境下给大家演示一下具体的操作。1.预处理2.编译3.汇编4.链接return 0;预处理阶段通过宏展开和头文件包含等操作修改源代码。编译阶段将源代码转换为汇编语言或机器代码。汇编阶段将汇编语言转换为机器代码指令。链接阶段将目标文件和运行时支持代码合并生成最终的可执行文件。原创 2023-06-21 01:00:00 · 2332 阅读 · 0 评论 -
C语言进阶教程(大小端存储)
从本篇文章开始我将为大家带来C语言的进阶教程,在本教程中你将会深入学习C语言,掌握好C语言为日后的编程基础打下坚实的基础。本篇文章就讲解到这里。原创 2023-06-20 09:32:25 · 508 阅读 · 0 评论