C语言
长风破浪5
这个作者很懒,什么都没留下…
展开
-
C语言枚举的好处
枚举的好处:枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。枚举语法定义格式为:enum 枚举名 {枚举元素1,枚举元素2,……};接下来我们举个例子,比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:#define MON 1#define TUE 2#define WED 3#define THU 4...转载 2019-01-06 14:35:40 · 2846 阅读 · 0 评论 -
安装DSP开发环境:CCS8注意事项
安装CCS8的注意问题:1.安装的路径直接使用默认路径,否则可能会安装失败。(我就是一直安装失败才使用默认路径的。)2.安装controlSUITE也直接使用默认路径,(原因:在CCS8开发软件中需要配置controlSUITE的路径,否则库文件将会不被找到,文件编译则能通过,而很多工程都是直接使用默认路径,因此使用默认路径比较好。)...原创 2019-08-08 08:19:15 · 1243 阅读 · 0 评论 -
C 命令行参数
C 命令行参数执行程序时,可以从命令行传值给 C 程序。这些值被称为命令行参数,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的动...转载 2019-01-06 18:23:59 · 205 阅读 · 3 评论 -
C 内存管理
C 内存管理本章将讲解 C 中的动态内存管理。C 语言为内存的分配和管理提供了几个函数。这些函数可以在 <stdlib.h> 头文件中找到。序号 函数和描述 1 void *calloc(int num, int size); 在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果是分配了 num*size ...转载 2019-01-06 18:15:42 · 257 阅读 · 2 评论 -
C 可变参数
C 可变参数有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。下面的实例演示了这种函数的定义。int func(int, ... ) { . . . } int main() { func(2, 2, 3); func(3, 2, 3, 4); }请注意,函...转载 2019-01-06 18:07:14 · 115 阅读 · 0 评论 -
C 递归
C 递归递归指的是在函数的定义中使用函数自身的方法。举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?'从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……'"语法格式如下:void recursion() {statements;...转载 2019-01-06 17:57:00 · 146 阅读 · 0 评论 -
C 预处理器
C 预处理器C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 CPP。所有的预处理器命令都是以井号(#)开头。它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始。下面列出了所有重要的预处理器指令:...转载 2019-01-06 17:02:34 · 143 阅读 · 0 评论 -
C 文件读写
上一章我们讲解了 C 语言处理的标准输入和输出设备。本章我们将介绍 C 程序员如何创建、打开、关闭文本文件或二进制文件。一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。本章将讲解文件管理的重要调用。打开文件您可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调...转载 2019-01-06 16:44:50 · 222 阅读 · 0 评论 -
位域
C 位域如果程序的结构中包含多个开关量,只有 TRUE/FALSE 变量,如下:struct{ unsigned int widthValidated; unsigned int heightValidated;} status;这种结构需要 8 字节的内存空间,但在实际上,在每个变量中,我们只存储 0 或 1。在这种情况下,C 语言提供了一种更好的利用内存空间的方式。如...转载 2019-01-06 16:16:28 · 161 阅读 · 0 评论 -
共用体
C 共用体共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。定义共用体为了定义共用体,您必须使用 union 语句,方式与定义结构类似。union 语句定义了一个新的数据类型,带有多个成员。union 语句的格式如下:union [union tag...转载 2019-01-06 15:52:30 · 233 阅读 · 0 评论 -
结构体和位域
C 结构体C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:Title Author Subject Book ID定义结构为了定义结构,您必须使用 struct 语句。struct 语句定义了一个包含多个成员的...转载 2019-01-06 15:38:48 · 256 阅读 · 0 评论 -
函数指针与回调函数
函数指针函数指针是指向函数的指针变量。通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。函数指针可以像一般函数一样,用于调用函数、传递参数。函数指针变量的声明:typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型实例以下实例声明了函数指针变量 p,指向函数 max:实例#...转载 2019-01-06 14:36:57 · 394 阅读 · 1 评论 -
C语言之指针
什么是指针?指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:type *var-name;如:int *ip; /* 一个整型的指针 */double *dp; /* 一个 double 型的指针 */float *fp; /* 一个浮点型的指针 */...转载 2019-01-06 14:36:17 · 193 阅读 · 0 评论 -
DSP ECan在配置扩展模式,非常奇怪的问题
DSP ECan在配置扩展模式,基本的发送接收功能时遇到一个非常奇怪的问题,2块不同的板子,但芯片是相同的F8069,其中有一块板子只有下载完程序而不复位就能发送和接收数据,只要复位之后,就不能再跑起来。另外一块板子则不受影响,开机,复位都能在正常发送接收数据。可以确认的是,程序已经成功写入到芯片,那还有什么原因会导致这样的情况发生呢?...原创 2019-08-21 09:29:38 · 291 阅读 · 0 评论