C语言
文章平均质量分 73
qq_36631758
这个作者很懒,什么都没留下…
展开
-
C语言之关键字(一)auto,register,static,const的了解
可能很多向我这样的初学者都不知道C语言有32个关键字之多:auto,int,double,long,char,float,short,signed,unsigned,struct,union,enum,static,switch,case,default,break, register,const,volatile,typedef,extern,return,void,continue,do,w原创 2017-07-11 16:07:06 · 314 阅读 · 0 评论 -
c语言之指针和数组(一)
1.指针的概念:简单来说,指针表示的是它指向对象的地址 2.一切都是地址:数据和代码都以二进制的形式存储在内存中,CPU只能通过地址来取得内存中的代码和数据,CPU访问时需要的是地址,而不是变量名和函数名,当源文件被编译和链接成可执行程序后,他们都会被替换为地址 3.目前学到的语法中,星号*的三个用途:1)表示乘法2)表示定义一个指针变量3)表示获取指针指向的数据 4.以指针的形式访问指针(原创 2017-07-13 23:06:08 · 212 阅读 · 0 评论 -
c语言之内存管理(二)
内存泄漏几乎是很难避免的,会产生泄漏的内存,也就是说由malloc系列函数或new操作符分配的内存。如果用完之后没有及时free或delete,这块内存就无法释放,直至整个程序终止。 1)如何使用malloc函数 malloc函数的原型: (void *)malloc(int size) malloc函数的返回值是一个void 类型的指针,参数为int类型数据,即申请分配的内存大小,单位是原创 2017-07-17 20:39:19 · 214 阅读 · 0 评论 -
c语言之函数(一)
(一)函数(Function)是一段可以重复使用的代码,这是从整体上对函数的认识。 C语言本身带了很多库函数,并分门别类地放在了不同的头文件中,使用时只要引入对应的头文件即可。 除了C语言自带的函数,我们也可以编写自己的函数,称为自定义函数(User-Defined Function)。自定义函数和库函数没有本质的区别,表现形式和使用方法一样,只是开发者不同而已。 这一章我们就来讲解如原创 2017-07-20 16:11:26 · 403 阅读 · 0 评论 -
C语言之文件系统编程
(一)系统调用 所有的操作系统都提供多种服务的入口点,程序由此向内核请求服务。这些可直接进入内核的入口点被称为系统调用。 为什么用户程序不能直接访问内核提供的服务? 在Linux中,为了更好地保护内核空间,程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,在逻辑上是相互隔离的。因此,用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们原创 2017-07-17 20:40:03 · 984 阅读 · 0 评论 -
C语言之内存管理(一)
1.一般来说,我们可以简单地理解为内存分为3个部分:堆,栈和静态区。堆栈就是栈,而不是堆。堆的英文是heap;栈的英文是stack,也翻译为堆栈。 1)堆:由malloc系列函数或new操作符分配的内存。其生命周期又free或delete决定,在没有释放之前一直存在,直到程序结束。其特点是使用灵活,空间比较大,但容易出错。 2)栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,原创 2017-07-14 16:35:44 · 187 阅读 · 0 评论 -
gcc和makefile(一)
GCC 在Linux平台上,最流行的编译系统是GCC(GNU Compile Collection)。GCC也是GNU发布的最著名的软件之一。GCC的功能非常强大,主要体现在两方面。 1) GCC可以为x86、ARM、MIPS等不同体系结构的硬件平台编译程序。 2) GCC可以编译C、C++、Pascal、Java等数十种高级语言。 GCC的这两项特性对嵌入式应用开发及其重要。此外,GCC原创 2017-07-26 20:57:05 · 441 阅读 · 0 评论 -
gcc和makefile(二)
工程管理器 在实际的开发过程中,仅仅通过使用gcc命令对程序进行编译是非常低效的。原因主要有以下两点。 1)程序往往是由多个源文件组成的,源文件的个数越多,那么gcc的命令行就会越长。此外,各种编译规则也会加大gcc命令行的复杂度。所以在开发调试程序的过程中,通过输入gcc命令行来编译程序是很麻烦的。 2)在程序的整个开发过程中,调试的工作量占到了整体工作量的70%以上。在调试程序的过程中,原创 2017-07-26 21:06:17 · 253 阅读 · 0 评论 -
C语言之关键字(二)break,continue,volatile,extern以及零值的判断
1.指针变量与零值比较:int *p; if(NULL == p);或if(NULL != p) ; 2.float变量与“零值”进行比较:float p = 0.0; if((p >= -EPSINON)&&(p 3.bool变量与“零值”进行比较:bool p = FALSE; if(p); 或if(!p); //大家都知道FALSE的值在编译器里面被定义为0,但是原创 2017-07-12 15:11:12 · 322 阅读 · 0 评论