![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C 基础
文章平均质量分 65
C 基础
deepwater_zone
嵌入式开发、学习交流
展开
-
C 关键字(C89,C99,C11)
C关键字一共有44个。1、C89关键字(32个)序号关键字说明1auto声明自动变量。auto变量存放在动态存储区,随着生命周期{开始}结束而立即释放,存放在栈上。默认变量都是auto的,基本都是不写。2break跳出当前循环3caseswitch语句分支4char声明字符型变量或函数5const声明只读变量6con...原创 2019-05-12 23:49:07 · 1532 阅读 · 0 评论 -
C/C++ 编译流程(预处理、编译、汇编、链接)
程序的基本流程如图:1、预处理(Preprocessing)序号 步骤 1 宏替换 2 头文件包含 3 条件编译的选择 2、编译(Compilation)将预处理完的文件进行词法分析、语法分析、语义分析及优化后,生成相应的.s汇编代码。3、汇编(Assemble)将编译完的汇编代码翻译成机器码,并生成可...原创 2018-11-27 00:14:03 · 1450 阅读 · 0 评论 -
C 结构体(结构体定义,结构体变量,结构体指针,向函数 传递结构体,结构体 赋值,union)
设计程序时,最重要的步骤之一是选择表示数据的方法。在许多情况下,简单变量甚至是数组还不够。为此,C提供了结构体变量提高表示数据的能力,它能让你创造新的形式。1、结构体的定义struct book { char title[40]; //书名 char author[40]; //作者 float price; //单价};在结构体声明中,用一对花括号括起来的是结构成...原创 2019-06-16 21:58:22 · 744 阅读 · 0 评论 -
C 指针(定义 指针,NULL 指针,void 指针,间接运算符 *,指针操作)
指针(pointer)是一个值为内存地址的变量(或数据对象)。1、定义指针定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。这些是通过使用一元运算符 * 来返回位于操作数所指定地址的变量的值。创建一个指针时,系统只分配了储存指针本身的内存,并未分配储存数据的内存。千万不要解引用未初始化的指针。2、NULL指针在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个...原创 2019-05-31 23:40:18 · 271 阅读 · 0 评论 -
C 内存管理(malloc,calloc,realloc,free)
C 语言为内存的分配和管理提供了几个函数。这些函数可以在 <stdlib.h> 头文件中找到:calloc(),malloc(),realloc(),free()原创 2019-06-30 23:02:19 · 205 阅读 · 0 评论 -
C 运算符 优先级(超详细)
C运算符优先级:优先级运算符名称或含义结合方向说明1[]数组下标左->右1()圆括号左->右1.成员选择(结构体变量)左->右1->成员选择(结构体指针)左->右1++自增(后缀)左->右i++1--自减(后缀)左->右i--2...原创 2019-04-23 23:09:40 · 610 阅读 · 0 评论 -
C 数据类型(bit,byte,word;char,int,long;float,double)
C语言提供两大系列的多种数据类型。两大数据类型是整数类型和浮点数类型。1、位、字节和字位、字节和字是描述计算机数据单元或存储单元的术语。最小的存储单元是位(bit),可以储存0或1。字节(byte)是常用的计算机存储单位。对于几乎所有的机器,1字节均为8位。字(word)是设计计算机时给定的自然存储单位。个人计算机字长增至32位,64位。计算机的字长越大,其数据...原创 2019-05-13 23:35:29 · 10888 阅读 · 0 评论 -
C 数组(初始化数组,数组边界,数组与指针)
数组由数据类型相同的一系列元素组成。数组元素按顺序储存在内存中,通过整数下标subscript(或索引index)可以访问各元素。C把数组看作是派生类型,因为数组是建立在其他类型的基础上。1、初始化数组int powers[8] = {1,2,4,6,8,16,32,64}; /* 从ANSI C开始支持这种初始化 */以逗号分隔的值列表(用花括号括起来)来初始化数组,各值之间用逗号...原创 2019-05-31 23:11:32 · 376 阅读 · 0 评论 -
C 字符串(字符串常量,sprintf 格式字符串 函数)
字符串是C语言中最有用、最重要的数据类型之一。C字符串是一系列char类型的字符,以空字符(\0)结尾。原创 2019-06-01 23:51:38 · 685 阅读 · 0 评论 -
C 字符串函数(strcpy,strcmp,strcat,strstr,strchr,strlen)
C语言没有专门用于储存字符串的变量类型,字符串都被储存在char类型的数组中。C中的字符串一定以空字符结束,这意味着数组的容量必须至少比存储字符串的字符数多1。转换说明输出%c单个字符%d有符号十进制整数%e浮点数,e 记数法%E浮点数,e 记数法%f浮点数,十进制记数法%i有符号十进制整数(与%d相同)%o无符号八...原创 2019-04-21 23:45:46 · 604 阅读 · 0 评论 -
C 函数(原型,递归,回调)
函数(function)是完成特定任务的独立程序代码单元。函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。原创 2019-05-16 23:20:06 · 287 阅读 · 0 评论 -
C 常用头文件:stdio,string
C 常用头文件:stdio,string原创 2020-05-31 23:38:21 · 514 阅读 · 0 评论 -
C 预处理 之"条件编译"
C预处理主要有三个方面的内容:(1)宏定义(2)文件包含(3)条件编译 预处理命令以符号"#"开头。 采用条件编译,可以减少被编译的语句,从而减少目标的长度。当条件编译段比较多时,目标程序长度可以大大减少。条件编译主要包括:序号 命令 含义 1 #if 编译预处理的条件命令,相当于C语言中的 if 语句 2 #ifdef...原创 2018-11-15 20:00:33 · 260 阅读 · 0 评论 -
C 预处理器(CPP:C Preprocessor)
C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 CPP。所有的预处理器命令都是以井号(#)开头。它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始。下面列出了所有重要的预处理器指令:序号指令...原创 2019-06-30 22:38:29 · 1047 阅读 · 0 评论 -
文件读写(fopen,fclose,fputc,fputs,fgetc,fgets)
一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。1、打开文件使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE 包含了所有用来控制流的必要的信息。下面是这个函数调用的原型:FILE * fopen( const ch...原创 2019-06-29 15:01:30 · 732 阅读 · 0 评论 -
C 简介(1972年)
1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritch)和肯·汤普逊(Ken Thompson)在开发UNIX操作系统时设计了C语言。C语言是一种面向过程的结构化语言。1、选择C语言的理由C是一门流行的高级语言,融合了计算机科学理论和实践的控制特性。C语言的设计理念让用户能轻松地完成自顶向下的规划、结构化编程和模块化设计。C是高效的语言。C程序相对更紧凑,而且运行速度很......原创 2019-05-12 18:48:50 · 942 阅读 · 0 评论 -
C 陷进与缺陷
编译器将程序分解成符号(token)的方法是:从左到右一个字符一个字符地读入,如果该字符可能组成一个符号,那么再读入下一个字符,判断已经读入的两个字符组成的字符串是否可能是一个符号的组成部分;如果可能,继续读入下一个字符,重复上述判断,直到读入的字符组成的字符串已不再可能组成一个有意义的符号。可以归纳为一个很简单的规则:每一个符号(token)应该包含尽可能多的字符。这个处理策略被称为贪心法。...原创 2019-05-11 16:56:16 · 325 阅读 · 0 评论 -
C 错误处理
语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。您可以在 errno.h 头文件中找到各种各样的错误代码。所以,C 程序员可以通过检查返回值,然后根据返回值决定采取哪种适当的动作。开发人员应...原创 2019-06-30 22:50:28 · 300 阅读 · 0 评论 -
安装 VS2010 中文旗舰版
VS2010是我们经常使用到的一款性能强大的集成开发环境(IDE),这里安装的是【中文旗舰版】:链接:https://pan.baidu.com/s/1T7glBJSFBQ6SM3ver4XUaQ 提取码:9zrv下面简单介绍一下安装过程:1、双击【setup.exe】,单击【安装 VS 2010】;2、选择【自定义安装】,选择【产品安装路径】,单...原创 2020-05-03 12:14:02 · 4186 阅读 · 0 评论 -
error C4996: ‘scanf‘: This function or variable may be unsafe.Visual Studio系列编译器使用scanf函数报错
VS2017写C代码出现:error C4996: ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.的错误,在.cpp文件的顶部添加 #define _CRT_SECURE_NO_WARNINGS 10 即可解决问题。...原创 2020-05-10 00:14:54 · 153 阅读 · 0 评论