C语言
阏男秀
Python
展开
-
C语言总结之函数的返回值
关于这个问题,大家应该在很多书上看到过:1.函数的返回值不可以是局部变量;2.函数内的局部变量在函数调用完成之后自动销毁,因为局部变量是存放于栈空间内的; 理论很明确,但是实际应用中还是有一些疑惑的。先找几个常见的例子一步一步深入说明。#include #include int add_rtVal(int a,int b){ int c = 0; c =转载 2013-11-24 19:50:15 · 1303 阅读 · 0 评论 -
C语言总结之结构体
1. 结构体的定义 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。1.1结构体作用 一、简便; 二、封装。2.结构体的声明struct tag { member-list } variable-lis原创 2013-11-17 20:59:38 · 1354 阅读 · 0 评论 -
C语言总结之void使用规则
规则一 1.规则说明。 如果函数没有返回值,那么应声明为void类型。 在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。即不加返回值说明的函数为返回为int的函数。 2.示例。void function(){} 3.总结。 为了避免混乱,在编写C/C++程序时,对于任何函数都必须一个不漏地转载 2013-11-17 14:57:00 · 4905 阅读 · 2 评论 -
C语言中程序与数据的存储位置
1.引言在单片机和嵌入式中,代码的程序和数据会存储在不同的地方,下面进行总结。一般程序可以分为程序段和数据段,如果再分细一点,还可以分为text段、rodata段、data段和bss段2.text段text段就是程序部分,一般情况下存储在ROM中。3.rodata段rodata段,rodata全称是Read-oniy-data。即程序中定义为「const」的原创 2013-12-03 22:52:59 · 5899 阅读 · 1 评论 -
过长的if-else分支结构优化
过长的多分支结构常被视为软件中的不良结构,因为它违背了OCP原则(开放、封闭原则),每当需要新增一种条件判断处理时,就要新增一个if-else分支。在很多情况下,使用函数表结构是避免过长的分支结构的有效方法。转载 2016-07-16 18:09:04 · 3627 阅读 · 0 评论 -
用宏定义代替printf函数
有时候我们想用宏定义来决定是编译debug版本的代码还是release的代码,dubug版本的代码会通过printf打印调试信息,release版本的代码则不会。原创 2016-09-11 21:09:30 · 11959 阅读 · 6 评论 -
JsonCpp如何判断是否有某个KEY
JsonCpp如何判断是否有某个KEY,使用json["key"]和isXXX的函数即可。如果json中没有key键,则会创建一个空成员或者返回一个空成员。原创 2016-09-02 17:19:20 · 14572 阅读 · 5 评论 -
C语言-位运算的应用
位运算的应用原创 2016-06-19 14:11:02 · 1444 阅读 · 0 评论 -
函数表驱动法
在这篇文章中,简单介绍了过长的if-else判断解决办法,里面提到了一个方法——函数表驱动法。由于本人在单片机开发中经常需要用到状态机轮询,这里可以使用switch-case和函数表驱动。下面给出一个在VS2013环境下编译通过的示例,方便以后移植。原创 2016-10-23 14:52:24 · 2306 阅读 · 0 评论 -
【C语言】如何写一个参数可变的函数
在C语言开发中,有时候需要写一个参数可变的函数,类似于print打印函数一样,可以接收多个任意参数。那么,我们应该怎样写呢?答案是:使用stdarg.h头文件。原创 2016-09-04 14:19:22 · 2239 阅读 · 0 评论 -
【C语言】数组与指针的辨析
很多同学一直分辨不了数组和指针有什么区别,下面我参考一些资料,并根据自己的理解尝试对数组和指针进行辨析。首先要有一个概念,数组就是数组,指针就是指针;数组不是指针,指针也不是数组。那些「数组等效指针」的说法是指在一定的条件下的才成立的,不是所有情况都适用。原创 2016-10-05 14:00:14 · 765 阅读 · 0 评论 -
C语言总结之变量的种类
1.变量的三个属性2.变量的分类3.C变量的种类原创 2013-11-20 12:04:39 · 1443 阅读 · 0 评论 -
C语言总结之变量的三个属性
在C语言中,一个变量有三个属性——作用域、链接属性和存储类型。这三个属性决定了一个变量的“可视性”和“生命期”。 可视性意思是这个变量能在什么地方使用,生命期的意思是它能保持多久。 修改作用域和链接属性的关键字是extern和static(代码块外的变量声明),修改存储类型的关键字是auto、static(代码块内的变量声明)和register。原创 2013-11-15 20:18:55 · 5851 阅读 · 0 评论 -
C语言总结之文件包含
预处理器发现#include指令后,就会寻找跟在这个指令后的文件名的文件,并把这个文件的内容包含到当前文件中,替换掉#include指令。相当于把被包含的文件在当前文件中键入。#include有两种使用形式:#include #include "filename"在UNIX系统中,尖括号表示预处理器在一个或多个标准系统目录中寻找文件。双引号表示预处理器先在当前目录原创 2013-12-21 22:56:26 · 1160 阅读 · 0 评论 -
C语言总结之const
1.const修饰符const是在ANSI C中追加的修饰符,它将类型修饰为「只读」。但const不一定代表常量。2.解读const的声明2.1 解读const的规则(技巧)正确解读const的声明,才能正确理解const对哪一个地方修饰为只读。规则如下:一、先用英语解读C语言的声明(了解「怎样用英语解读C语言的声明」请点击这里);二、一旦解释完毕后的部分的左侧出现原创 2013-11-22 23:34:21 · 1022 阅读 · 0 评论 -
C语言总结之基本数据类型
在C语言中,只有四种基本数据类型——整型,浮点型,指针和聚合类型(如数组和结构等)。1.整型(integer) 整型家族包括字符、短整型、整型、和长整型。可以分为有符号(signed)和无符号(unsigned)两个版本。其中我经常用到的是字符(char)和整型(int)。 标题中的整型(integer)指的是一种数据类型,integ原创 2013-11-15 16:44:09 · 1599 阅读 · 1 评论 -
C语言总结之条件编译
在编译的时候,如果我们可以选择某条语句或某组语句进行翻译或者忽略,常常会显得很方便。条件编译(conditional compilatioin)就是用于实现这个目的。#if constant-expression statements#endif其中,constant-expression(常量表达式)由预处理进行求值。如果它的值是非零值(真),那么stateme原创 2013-12-14 17:26:07 · 993 阅读 · 0 评论 -
C语言总结之malloc()的基础
1.malloc()的简介1.1 定义C语言中可以使用malloc()进行动态内存分配。1.2 作用malloc()根据参数指定的尺寸来分配内存快,它返回指向内存快初始位置的指针。1.3 应用经常用于动态分配结构体的内存领域、分配执行前还不知道大小的数组的内存领域等。1.4 基本使用方法p = malloc(size);一旦内存分配失败,malloc()原创 2013-12-01 23:07:05 · 1092 阅读 · 0 评论 -
C语言总结之基本声明
1.引言变量声明的基本形式:说明符(一个或多个) 声明表达式列表;说明符(specifier)包含一些关键字,用于描述被声明的标识符的基本类型。说明符也可以改变标识符[1]的默认存储类型(关键字为auto、代码块内的static、register)和作用域(关键字为extern、代码块外的static)。注:[1]标识符:标识符(identifier)就是变原创 2013-12-02 22:49:34 · 1071 阅读 · 0 评论 -
C语言总结之解读C的声明
1.引言解读C的声明,最好的方法就是用英语来阅读,因为C语言是美国人开发的。例如:int (*pf)();用英语来解读,则是:pf is pointer to function return int翻译成中文:pf为指向返回int的函数的指针。2 解读C声明的步骤阅读C语言声明的方法:机械地向前读。在不考虑const和volatile的情况下,解读C原创 2013-11-22 19:49:54 · 1530 阅读 · 0 评论 -
C语言总结之标准函数库中浮点型函数
头文件math.h包含了函数库中部分数学函数的声明。这些函数的返回值以及大多数参数都是double类型。1.三角函数double sin( double angle );double cos( double angle );double tan( double angle );double asin( double value );double acos( doub原创 2014-01-21 23:07:57 · 3909 阅读 · 0 评论 -
C语言中数组与指针辨析
很多同学对数组和指针有一定的原创 2014-08-02 20:13:56 · 881 阅读 · 0 评论 -
C语言总结之标准函数库中整型函数
这里总结返回为整型值的函数。这些函数可以分为三类:算术、随机数和字符串转换。1.算术int abs( int value );long int labs( long int value );div_t div( int numerator, int denominator );ldiv_t ldiv( long int numer, long int denom );原创 2014-01-19 22:19:14 · 2588 阅读 · 0 评论 -
【C++】VS2013下CURL编译及使用示例
概述VS C++下可以使用CURL工具进行网络通信,但是要用到CURL必须有dll和lib文件。所以这个要自己编译生成这些文件。原创 2017-02-24 17:54:05 · 11500 阅读 · 2 评论