
C语言基础
文章平均质量分 54
HsiunKao
应届毕业生,无工作经验,但工作经验那一栏没有应届生这一项,故填了个1年,忘不要误解。
展开
-
C语言可变参数函数
C语言有一种实现可变参数的函数的方法就是使用占位符,使用的方法就是采用如下的方式定义函数void frees(int size, ...)。其余的地方和一般的函数定义是一样的只是第二个参数上使用了三个点,而没用采用一般的变量类型变量名的方式。只要采用这样的定义方式,便可以使用这个函数来处理可变变量。但是光有这个定义还是不够的,还需要借助如下俩个函数一个类型定义,实际上这些函数是通过宏来实现的。原创 2014-01-11 23:43:30 · 1164 阅读 · 0 评论 -
C语言库函数四
这部分的函数主要是用来在堆上分配内存的。总共就4个比较简单,常用的是后面的3个,calloc() //分配一个二维存储空间,不常用free() //释放已分配空间,和分配的函数配合使用malloc() //分配空间,常用realloc() //在分配的空间不足的情况是,增加空间(重新分配一块更大的内存。原创 2016-03-26 23:14:08 · 367 阅读 · 0 评论 -
C语言库函数三
这部分要讨论的是数学函数和时间日期函数。这部分的函数都是一些在涉及到一些比较专门的行业中才会使用到的函数,在一般的编程中比较少用到,只是偶尔会使用其中的一两个而已。数学函数就是一些常见的数学计算的函数,比如三角函数的计算,主要就是三角函数的求值,时间和日期函数比较简单,主要是用来返回当前系统时间的。原创 2016-03-26 23:09:21 · 313 阅读 · 0 评论 -
C语言库函数二
这一部分将要介绍的是字符和字符串处理,字符和字符串处理是编程中非常常见的一个问题。所有的编程语言都会提供字符和字符处理相关的内容。在C语言中并没有未字符串设置专门的数据类型,但是在C中,我们一般使用char *类型来表示字符串。字符最终是存储在内存中的,在C语言中对字符的操作会直接涉及到对内存的操作。因此库函数中提供的对字符的操作函数,有一些就是直接对内存进行操作的。字符的定义很简单就是ASSIC表原创 2016-03-26 23:02:33 · 538 阅读 · 0 评论 -
C语言库函数一
由于C语言本身可以说是一门非常轻量化的编程语言,语言本身提供的内容非常有限,当然这也促成了灵活小巧的特点。C语言有很大一部分特性都不是通过语言性质来实现的,而是通过库函数来实现的,如果不使用库函数几乎无法编写出任何可用的C语言程序来。C语言官方提供的库函数,被称之为标准库函数。标准库函数中实现了我们需要的大部分功能,这些库函数按功能可以大致分为I/O处理,字符和字符串,数学函数,时间和日期,内存管理原创 2016-03-25 22:21:54 · 598 阅读 · 0 评论 -
UNIX系统接口【重学C之八】
在Unix系统中,操作系统通过系统接口(也叫系统调用)来提供服务,系统调用时内核中的代码,位于内核中。用户的应用处于用户空间中,因此用户进程调用系统调用的过程,就是进程由用户空间进入内核的过程。C语言的库函数就是通过系统调用来实现其功能的,可以说系统调用为库函数提供了底层的支持。这一章的内容主要就是介绍Unix系统中用于输入和输出的系统调用,并介绍如何通过它们实现标准库。文件描述符 在Unix系统原创 2016-04-05 17:25:55 · 1192 阅读 · 0 评论 -
结构【重学C之六】
结构是一个或多个变量的集合,这些变量可能为不同的类型(区别于数组),为了处理的方便而将这些变量组织在一个名字之下。它也被称之为结构体,是C语言提供的一种定义自定义数据类型的方式。结构体给了程序员自行实现自己所需要数据结构的能力。ANSI定义了结构的赋值操作——结构可以拷贝、赋值、传递给函数,函数也可以返回结构类型的返回值。原创 2016-03-21 21:41:49 · 591 阅读 · 0 评论 -
指针与数组【重学C之五】
指针与数组是C语言中两种常见的变量,指针用来保存变量地址,数组是用来保存同一种数据类型的,可以是基本变量类型,比如整形,浮点型等等,也可以是自定义变量类型,比如说结构体。指针首先指针提供了一种访问变量地址的方式,正是由于指针的存在使得C语言成为一种比较底层的语言,因为他可以直接操作系统的内存空间,通过其地址的方式,一般的高级语言都不会提供对地址直接操作的能力,比如说Java或者是Python,它们都原创 2016-03-19 00:03:40 · 485 阅读 · 0 评论 -
函数与程序结构【重学C之四】
C语言程序就是由一个个的函数的组成的,而且一般来说是由一个个小的函数组成的,而不是少量较大的函数组成。将函数分下为重用提供了更多的可能,并且让排错的过程思路更清晰。C语言一些在声明函数是声明参数类型,单不是强制的,并且即使函数声明的参数类型和实际定义的不一样函数也是不会重载的(当然C语言中没有重载的概念)。这里如果函数声明的参数类型和实际定义的不一致,应该是会报错。C语言的作用域问题也是一个非常关键原创 2016-03-04 17:59:20 · 655 阅读 · 0 评论 -
类型与运算符【重学C之二】
有一种说法程序是由数据和算法组成的,变量和常量是程序处理的两种基本数据对象。声明语句说明变量的名字和类型,也可以同时指定变量的初值。如果同时指定初值的话,这个过程就叫做变量的初始化。外部变量和静态变在没有被显示的初始化的情况下被初始化为1,而自动变量的值在没有被初始化的情况下是不确定的值。这里的自动变量说的就是局部变量。表达式则把变量和常量结合起来组成新的值。确切的来讲表达式应该保存变量,常量原创 2016-01-12 13:14:48 · 581 阅读 · 0 评论 -
C语言概述【重学C之一】
在我的观念中C语言是有着非常重要意义的。仅对我个人来说,今后学在多的编程语言,C都应该是能熟练应用的。虽然从现在的招聘情况来说,C肯定不是最值得学习的语言,Java,Python,Nodejs的等语言的岗位远多于对C语言的需求。但不可忽视的是C语言是毫无疑问当今互联网的基础。Linux是C语言编写的,虽然其中使用了很多扩展特性。nginx是C语言编写的。原创 2016-01-04 14:29:31 · 664 阅读 · 0 评论 -
控制流【重学C之三】
控制流是所有编程语言的基本组成部分之一,几乎所有的程序都要用到控制流,在程序语言中控制流语句用于控制各操作的执行次序。在程序中一个分号一般就意味着一条语句,而使用花括号括起来的则构成了一个复合语句,也就是程序块。控制流控制各操作的能力就是通过控制语句块和语句的执行来实现的。常见的流程控制语句有if-else语句,switch语句,while和for循环,do-while语句和break与contin原创 2016-01-17 23:47:06 · 638 阅读 · 0 评论 -
C语言中strcpy和memcpy
strcpy和memcpy都是标准C库函数原创 2014-04-22 08:31:37 · 856 阅读 · 0 评论 -
C语言中的位域
在内存中存取数据的最小单位一般是字节,但是有时候并不需要一个字节来存储。例如对于只有真假两个值得一个变量来说,就只须一位就可以了。有比如说在某些情况下内存是极其宝贵的资源,比如说一些嵌入式设备,因此要格外的注意节约。C语言可以在一个结构体中以位来存储数据,这种用位为单位的成员称为位域或位段。struct bit_data{ int b:2; char c:3;};虽然位域的原创 2014-01-29 00:03:57 · 1343 阅读 · 0 评论 -
gcc编译C程序的过程
我们在编译c程序的时候其过程一般点击一个图标,或者执行一个命令就完成了。但实际的过程可不是这么简单的。在使用gcc编译程序时,它就把这个过程分成了四布来完成。分别是:(1)预处理:(Pre-Processing)(2)编译:(Compiling)(3)汇编:(Assembling)(4)链接:(Linking) 使用gcc,我们可以根据需要让程序的编译停在任何的阶段原创 2014-01-21 23:50:39 · 1350 阅读 · 4 评论 -
C语言关键字static
不是很明白C语言中的static,于是在网上搜了一下,找到了这个,整理成一篇博客,当作笔记。从C程序开始讲起: C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令; 2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。转载 2014-01-18 23:31:51 · 838 阅读 · 0 评论 -
输入与输出【重学C之七】
这一部分将要介绍的是字符和字符串处理,字符和字符串处理是编程中非常常见的一个问题。所有的编程语言都会提供字符和字符处理相关的内容。在C语言中并没有未字符串设置专门的数据类型,但是在C中,我们一般使用char *类型来表示字符串。字符最终是存储在内存中的,在C语言中对字符的操作会直接涉及到对内存的操作。因此库函数中提供的对字符的操作函数,有一些就是直接对内存进行操作的。原创 2016-03-27 20:00:11 · 391 阅读 · 0 评论