首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言笔记C语言编译过程

下面以windows环境下test.c为例,test.c代码为: #include int main(void) { printf("This is a test program...如图,编译生成可执行文件过程实际包含四个过程:(1)预处理;(2)编译;(3)汇编;(4)链接。...2、预处理(Preprpcessing) 使用预处理器把源文件test.c经过预处理生成test.i文件,预处理用于将所有的#include头文件以及宏定义替换成其真正内容。...预处理命令为: gcc -E test.c -o test.i 上述命令中-E是让编译器在预处理之后就退出,不进行后续编译过程;-o是指定输出文件名。 预处理之后得到仍然是文本文件。...汇编过程命令为: gcc -c test.s -o test.o 上述命令中-c、-o让汇编器把汇编文件test.s转换成目标文件test.o。

12.2K31

C语言笔记---(1)初识C语言

C语言简介 C语言历史 1972年,贝尔实验室,1972年,丹尼斯·里奇和布莱恩·柯林汉(Brian Kernighan)在B语言基础上重新设计了一种新语言,这种新语言取代了B语言,所以称为C语言...C语言源代码可以在任意架构处理器上使用。 C语言特点 1.语言简洁灵活 C语言是现有程序设计语言中规模最小语言之一,C语言关键字仅仅只有32个,控制语句也只有9个。...C语言是完全模块化和结构化语言C语言对于输入和输出处理也是通过函数调用来实现。...C语言版本 在C语言发展史上,有过许多不同版本。...这本书被C语言开发者们称为“K&R”,很多年来被当作C语言非正式标准说明。人们称这个版本C语言为“K&R C”。

23.6K12
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言笔记】内存笔记

    C语言程序需要载入内存才可以运行,其不同数据保存在不同区域。所使用内存可以分成两类:一类是静态存储区,另一类是动态存储区。 C语言程序存储区如下图所示: ?...x \n", b, (unsigned int)&b); printf("c = %d, &c = %#x \n", c, (unsigned int)&c); } 程序运行结果: ?...= %d, &c = %#x \n", c, (unsigned int)&c); } void stack_test2(int a, int b, int c) { stack_test1(a,...按照C语言内存分配规则,如果内存分配成功,返回是内存地址;如果内存分配不成功,将返回NULL(0x0),表示一个无效地址。 (3)malloc在分配内存时候,是从低地址至高地址方向。...以上是对于C语言内存一些笔记。如有错误,欢迎指出!

    1.5K31

    C语言笔记】枚举

    其可以与typedef来进行类比进行理解(可查看【C语言笔记】define与typedef区别?)。除此之外,其还可以与枚举enum进行类比。 二、什么是枚举 从字面理解,就是一一列举意思。...很多时候,有一些数据取值有限,这时候可以把这些可能结果列出来,并赋予新名字,这样有助于提高代码可读性。...若其他成员赋了初值,也是遵循“枚举成员值是根据前一个成员值递增1”这一规则,如: enum DAY { A,B,C=100,D,F=200,G }; 此处 A=0 B=1 C=100 D=101...从该程序运行结果也可看出,枚举类型变量需要存放是一个整数,它长度和int长度相同。 以上就是关于枚举类型enum一些笔记,如有错误欢迎指出。 最后,分享两篇关于枚举文章,都讲得很详细。...https://www.cnblogs.com/JCSU/articles/1299051.html http://c.biancheng.net/cpp/html/99.html

    92751

    C语言入门笔记~!

    C语言入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。...C语言也是其它众多高级语言鼻祖语言,所以说学习C语言是进入编程世界必修课。...必不可少之主函数 一个C程序有且只有一个主函数,即main函数。 C程序就是执行主函数里代码,也可以说这个主函数就是C语言唯一入口。...例如Imooc和imooc 是两个不同标识符。 标识符最好选择有意义英文单词组成做到"见名知意",不要使用中文。 标识符不能是C语言关键字。想了解更多C语言关键字知识。...C语言数组长度一经声明,长度就是固定,无法改变,并且C语言并不提供计算数组长度方法。

    4.9K2319

    C语言入门笔记

    C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。...函数就是实现代码逻辑一个小单元。 注:在最新C标准中,main函数前类型为int而不是void。 2、主函数 一个C程序有且只有一个主函数,即main函数。主函数就是C语言唯一入口。...C 语言规定,标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成字符串,并且第一个字符必须是字母或下划线。...例如Imooc和imooc 是两个不同标识符。 3.标识符最好选择有意义英文单词组成做到"见名知意",不要使用中文。 4.标识符不能是C语言关键字。...同样C语言数据也是有类型C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。如图所示: ?

    1.5K30

    C语言入门笔记~!

    C语言入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。...C语言也是其它众多高级语言鼻祖语言,所以说学习C语言是进入编程世界必修课。...例如Imooc和imooc 是两个不同标识符。 标识符最好选择有意义英文单词组成做到"见名知意",不要使用中文。 标识符不能是C语言关键字。想了解更多C语言关键字知识。...关系运算符 C语言关系运算符: ? 关系表达式值是真和假,在C程序用整数1和0表示。 注意:>=, <=, ==, !=这种符号之间不能存在空格。 逻辑运算符 C语言逻辑运算符: ?...注意以下几点: 最好避免出现数组越界访问,循环变量最好不要超出数组长度. C语言数组长度一经声明,长度就是固定,无法改变,并且C语言并不提供计算数组长度方法。

    1.2K3429

    C语言笔记】操作位技巧

    一、操作位方法 操作位有两种方法,一种是位字段,另一种是使用按位运算符。位字段方法可查看往期笔记:【C语言笔记】位域。本文介绍使用按位运算符操作位方法。下表为几种位操作符及其含义: ?...二、不改变其他位状况下,对某几个位进行设值。...对于二进制位操作来说,不管该位原来值是0还是1,它跟0进行&运算,得到结果都是0,而跟1进行&运算,将保持原来值不变;不管该位原来值是0还是1,它跟1进行|运算,得到结果都是1,而跟0进行|运算...在实际编程中,常改写为: TEST |= 0x01; 这种写法可以一定程度上简化代码,是 C 语言常用一种编程风格。...0X00000040; //设置相应位值,不改变其他位值 移位操作提高代码可读性。

    1.8K20

    C语言】自学终极笔记

    第一章 程序设计和C语言 1.1 基本知识 程序:一组计算机能识别和执行指令。 计算机语言:计算机和人都能识别的语言C语言是在B语言基础上发展而来。...计算机语言发展阶段: 机器语言:计算机能直接识别和接受二进制代码集合(即机器指令集合)。 符号语言(或汇编语言):使用英语字母和数字表示指令,再通过汇编语言将其转换为机器语言。...C语言特点: 语言简洁,使用方便灵活 运算符丰富 数据类型丰富 程序可移植性好 允许直接访问物理地址,进行位操作 生成目标代码质量高,程序执行效率高 函数包括:函数首部(第一行)+函数体(‘{’+内容...注意易错: 每个C程序有且仅有一个main函数,程序从main函数开始执行且结束 C语言注释方式://单行注释和/* 多行注释 */ 一个程序由一个或多个源程序文件组成 C程序编译运行步骤:源程序...C语言无string和bool类型 注意: 1.

    13210

    C语言入门笔记2

    C语言运算 1、运算符 我们上小学时候都学过各种运算,如:加法运算、乘法运算、混合运算等,而运算就要用到运算符,如:+、-、×、÷等等。 在C语言中同样有运算符,只是写法可能有所不同。...先说一下C语言运算是什么?C语言运算就是对数据进行操作、处理过程。那么运算符又干什么呢?运算符就是指定该运算处理方式。 那么C语言中又有哪些运算符呢?...在C语言中程序中也存在这样比较,这个时候就需要用到关系运算符了。 下面是C语言关系运算符: ? 关系表达式值是“真”和“假”,在C程序用整数1和0表示。如: ? 其结果为: ?...下面我们看一下C语言逻辑运算符: ? 那么前面的那个算式写成计算机可以看算式就是:x>7 && x<100; 逻辑运算值也是有两种分别为“真”和“假”,C语言中用整型1和0来表示。...当然是可以了,不过C语言中,需要用到一个符号,这个符号就是三目运算符。 C语言三目运算符:“?:”,其格式为: 表达式1 ?

    1.1K10

    C语言笔记】指针变量运算

    前言 指针变量也是可以进行运算,如指针变量对其自身加上某个整数或减去某个整数,这在内存上体现为:相对这个指针向后偏移多少个单位或向前偏移了多少个单位,这里单位与指针变量类型有关。...include int main(void) { int a = 10, *pa = &a; float b = 6.6, *pb = &b; char c...= 'a', *pc = &c; double d = 2.14e9, *pd = &d; //最初值 printf("pa0=%d, pb0=%d, pc0=%d, pd0...如图:pa1所指向地址在pa0所指向地址往后8字节处,pa2指向地址在pa1指向地址往前4字节处。 从本示例程序中,还可以看出:连续定义变量在内存存储有可能是紧挨着,有可能是分散着。...以上就是关于C语言指针变量运算一些总结:指针变量与整数相加相减是相对该指针指向地址向后向前偏移多少个单位。这里单位不能认为总是1。

    1.3K20

    这是我C语言入门笔记

    c语言入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。...C语言也是其它众多高级语言鼻祖语言,所以说学习C语言是进入编程世界必修课。...必不可少之主函数 一个C程序有且只有一个主函数,即main函数。 C程序就是执行主函数里代码,也可以说这个主函数就是C语言唯一入口。...例如Imooc和imooc 是两个不同标识符。 标识符最好选择有意义英文单词组成做到"见名知意",不要使用中文。 标识符不能是C语言关键字。想了解更多C语言关键字知识。...C语言数组长度一经声明,长度就是固定,无法改变,并且C语言并不提供计算数组长度方法。

    59220

    C语言笔记】位域

    正是基于这种考虑,C语言又提供了一种数据结构,叫做位域或位段。 位域是操控位一种方法(操控位另一种方法是使用按位运算符,按位运算符将在之后笔记中做介绍)。...而结构体变量pk2各成员超出了限定位数,并发生了上溢(溢出中一种),关于溢出概念可查看往期笔记:【C语言笔记】整数溢出 C语言标准规定,只有有限几种数据类型可以用于位域。...关于C语言几套标准可查看往期笔记:【C语言笔记】什么是ANSI C标准?...位域存储 位域存储同样遵循结构体内存对齐规则,关于结构体内存对齐问题可查看往期笔记:【C语言笔记C语言结构体内存对齐问题 看一个例子: #include struct pack...位域也是个很重要知识点,如在DSP2803X固件库一些结构封装中普遍用到这样写法: ? 以上就是关于位域一些笔记,如有错误,欢迎指出!

    1.9K30

    C语言最全入门笔记

    来源:公众号(c语言与cpp编程) c语言入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。...C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言鼻祖语言,所以说学习C语言是进入编程世界必修课。...例如Imooc和imooc 是两个不同标识符。 标识符最好选择有意义英文单词组成做到"见名知意",不要使用中文。 标识符不能是C语言关键字。想了解更多C语言关键字知识。...关系运算符 C语言关系运算符: ? 关系表达式值是真和假,在C程序用整数1和0表示。 注意:>=, <=, ==, !=这种符号之间不能存在空格。 逻辑运算符 C语言逻辑运算符: ?...注意以下几点: 最好避免出现数组越界访问,循环变量最好不要超出数组长度. C语言数组长度一经声明,长度就是固定,无法改变,并且C语言并不提供计算数组长度方法。

    1.9K20

    C语言最全入门笔记

    c语言入门 C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。...C语言也是其它众多高级语言鼻祖语言,所以说学习C语言是进入编程世界必修课。...例如Imooc和imooc 是两个不同标识符。 标识符最好选择有意义英文单词组成做到"见名知意",不要使用中文。 标识符不能是C语言关键字。想了解更多C语言关键字知识。...关系运算符 C语言关系运算符: ? 关系表达式值是真和假,在C程序用整数1和0表示。 注意:>=, <=, ==, !=这种符号之间不能存在空格。 逻辑运算符 C语言逻辑运算符: ?...注意以下几点: 最好避免出现数组越界访问,循环变量最好不要超出数组长度. C语言数组长度一经声明,长度就是固定,无法改变,并且C语言并不提供计算数组长度方法。

    1.3K20
    领券