c进阶
文章平均质量分 69
c进阶
Stay hungry. Stay foolish.
这个作者很懒,什么都没留下…
展开
-
8、#error、#warning、#line的使用
一、这三类预处理器指示字的作用①#error message,用于自定义一条编译错误信息,其中message不用双引号;②#warning message ,用于自定义一条编译警告信息,语法和①同;③#line number filename ,其中filename可以省略,它的本质是重定义__LINE__和__FILE__,用于强制指定新的行号和新的文件名,并对源程序的代码进行重新编号,现代工程代码中较为少用,了解即可。二、为什么要使用这些指示字既然是指示字,当然也就是为了起指示作用,也就是原创 2021-02-05 11:33:09 · 591 阅读 · 0 评论 -
7、条件编译使用分析
文章目录一、条件编译的作用1、如何工作2、如何在命令行中进行代码调试3、如何避免头文件的重复定义(1)概念(2)如何解决4、实际工程中条件编译的其他作用二、总结一、条件编译的作用1、如何工作它是预编译指示指令,用于控制是否编译某段代码,下面我们通过一个例程来看看它的内部是如何工作的。//#include<stdio.h>#define C 1int main(){ const char* s =NULL; #if (C==1) s="first\n"; #else原创 2021-02-04 10:40:41 · 399 阅读 · 0 评论 -
6、正确的使用宏
一、c语言中的宏定义1、基本概念#define是预处理器处理的单元之一#define定义的宏可以出现在代码中的任何位置#define定义之后的代码都可使用该宏2、本质#define定义的宏常量本质上是一个字面量,下面我们用一个例子来了解他的基本概念和本质。注意下面没有加标准输入输出的头文件。#define ERROR -1#define PATH1 "D:\test\test.c"#define PATH2 D:\test\test.c#define PATH3 D:\test\原创 2021-01-11 16:26:57 · 346 阅读 · 0 评论 -
5、枚举
一、枚举1、基本概念三个的关系:枚举类型、枚举值、枚举变量enum工具提供了另外一种创建符号常量的方式,某种程度上可代替const的作用。enum spectrum {red,orange,yellow,green,blue,violet,ultraviolet};spectrum:枚举,可以看作是一个新类型的名称red,orange,yellow,green,blue,violet,ultraviolet:符号常量,对应的值为0-7,当然可以自定义初始值,没定义值的时候,默认后面比前面大1原创 2020-12-15 15:05:47 · 151 阅读 · 0 评论 -
4、void和void指针分析
一、void 指针存储任意类型指针的基础指针是一个特殊的变量,它的特殊之处在于这个变量存放的内容为地址,无论是int型指针、float型指针等等所有的指针类型,只要在同一个系统下,系统都为它分配了同样内存大小的空间(如32位机子中任何一个指针的长度都是4个字节,因为逻辑地址就占用4字节),这也为使用void指针可以存储任意类型的指针打下了基础。二、void的定义void体现了一种抽象,这个世界上的变量都是“有类型”的,void的出现只是为了一种抽象的需要,void的字面意思是“无类型”,void *则原创 2020-08-11 08:05:29 · 241 阅读 · 0 评论 -
3、函数指针
此文编写参考狄泰软件学院唐佐林老师的视频课程,如有错误之处,欢迎指正。1、函数指针的定义函数也有其自己的类型,函数的类型由函数的返回值类型和函数的形参列表所构成,用函数类型定义的指针称为函数指针,函数指针用于指向某个函数,而函数名是执行函数体的入口地址。2、定义一个函数指针的方法:(1)、直接用函数类型去定义函数指针(可先为函数类型重命名)如typedef type (pointer)(形参列表),则此时pointer就是一个函数类型,则可以用这个函数类型去定义一个函数指针了。如pointer* n原创 2020-08-09 10:54:47 · 176 阅读 · 0 评论 -
2、用typedef为类型重命名
1、目的:(1)、为了简化名字,方便阅读,尤其是指针的阅读(2)、有利于程序的通用和移植,如在不同计算机系统中int型所占字节数不一样,如在一个系统中int是两个字节,但是到了另外一个系统是4个字节,但是我们只需要typedef int integer,则修改int为long就可以了。2、方法:(1)、按照定义变量的方法写出定义体(2)、将变量名换成新类型名(3)、在最前面加typedef(4)、用新类型名去定义变量名如:int a=》int Count=>typedef int C原创 2020-08-09 10:33:55 · 594 阅读 · 0 评论 -
1、#pragma的使用
此文编写参考狄泰软件学院唐佐林老师的视频课程,如有错误之处,欢迎指正。一、初认识#pragma用于指示编译器完成一些特定的动作#pragma所定义的很多指示字是编译器所特有的#pragma在不同的编译器间是不可移植的注意:预处理器将忽略它不认识的#pragma指令不同的编译器可能以不同的方式解释同一条#pragma指令二、用法#pragma parameter不同的parameter参数语法和意义各不相同1、#pragma messagemessage参数在大多数的编译器中都有相原创 2020-08-07 13:07:16 · 265 阅读 · 0 评论