C语言学习
文章平均质量分 75
rn7ps8bn
这个作者很懒,什么都没留下…
展开
-
C语言中的指针(*p p &p)
在看博客时,无意看到了一篇关于C语言指针的博客议论。虽然写的内容不多,但是自己觉得还是有用,就记下来了。 学习C语言时,指针的学习是比较难的一部分,常常分辨不了*p p &p 的区别。下面是摘抄别人的一段测试程序。以下是我的一小段测试用的程序 void test(){ int a=8; int *p=&a; p=(in原创 2009-09-03 16:53:00 · 5842 阅读 · 0 评论 -
C的编译器对内存空间的划分
前天参加了百度的笔试,其中有一道题目是关于编译器对内存空间划分的。题目倒是不难(基本上和下面的题目是一样的),就是自己对编译原理没有学习过,也没有好好地研究一下C的编译器。才使得自己没有做好这题,回来后网上GOOGLE后,得到了相关的内容,这里存下来,记录一下。转载 2010-10-25 12:07:00 · 644 阅读 · 0 评论 -
基础之运算符
C语言的内部运算符很丰富,运算符是告诉编译程序执行特定算术或逻辑操作的符号。C语言有三大运算符:算术、关系与逻辑、位操作。另外,C还有一些特殊的运算符,用于完成一些特殊的任务。原创 2010-06-02 14:29:00 · 617 阅读 · 0 评论 -
基础之数据类型
在C语言中,基本类型包括字节型(char)、整型(int)和浮点型(float/double)。定义基本类型变量时,可以使用符号属性signed、unsigned(对于char、int),和长度属性short、long(对于int、double)对变量的取值区间和精度进行说明。原创 2010-06-02 13:47:00 · 491 阅读 · 0 评论 -
基础之文件操作
曾记得,当年要来公司实习的时候,公司的技术主管给我们都出了一道编程题目,题目倒是不难,但还是挺有意思。今天在看有关文件操作相关的内容,想起了,又做了一下。不过这次做得有些仓促,没有做完,先做一部分,后面的有时再补上。原创 2010-07-29 18:16:00 · 583 阅读 · 0 评论 -
回调函数以及钩子函数的概念
钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。对每种类型的钩子由系统来维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,也就是后加入的先获得控制权。要实转载 2010-05-12 10:34:00 · 341 阅读 · 0 评论 -
typedef关键字的理解
今天看了一下linux系统中的一些头文件,发现有些内容是比较难理解的。比如typedef和#define。 首先,我们看看#define这个关键字,#define关键字主要是用来给常用的字符串起个好记的名字,实现文字内容的替换。例如:#define PI 3.1415926 //给3.1415926这个常见的值起了一个名字为PI,以后在程序中输入PI,那么它就是3.1原创 2010-03-22 11:50:00 · 510 阅读 · 0 评论 -
关于函数指针数组与返回数组指针的函数
关于函数指针数组与返回数组指针的函数2007-08-15 08:34int (*a[])(int);int (*p())[10];第一种情况为数组里面是函数指针的情况,因为(int (*)(int))是一个强制转换方式, 将里面的a[]这个数组转换成了一个函数指针的数组, 并且该函数是一个带一个整型变量,并且返回一个整型的函数.第二种情况为函数返回的为转载 2009-11-12 19:35:00 · 522 阅读 · 0 评论 -
函数指针、指针函数、指针的指针、指向数组的指针
函数指针、指针函数、指针的指针、指向数组的指针 函数指针是指向函数起始地址的指针,一般可以认为是函数名的变量形式,如:void f(int i) {printf("%d", i-1);} //函数,f是常量void g(int i) {printf("%d", i+1);} //函数,g是常量void out(void (*foo)(int)){ //函数转载 2009-11-12 18:08:00 · 823 阅读 · 0 评论 -
C语言编译全过程
编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)1.转载 2009-11-02 16:51:00 · 323 阅读 · 0 评论 -
C语言中的几个编译指令
本文内容收集自网络,仅供自己学习和大家交流之用,如果侵犯了您的权益,请及时通知,会及时撤下!预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包转载 2009-11-01 18:10:00 · 706 阅读 · 0 评论 -
双指针
双指针多用于指针交换,可以避免数据复制,提升系统的性能,同时还可以让函数修改指针,例如扩充其大小,指向等一般指针的指针用作参数,大多用在需要函数改变指针(重新引用变量)而又不能通过返回值传递(例如返回值用于传递其他结果)时。为了能完全解决动态内存传递的问题,先回顾一下内存管理的知识要点. (1)内存分配方式有三种: ●从静态存储区域分配。内存在程式编译的时候就已分配好,这块内存在转载 2009-11-01 15:45:00 · 563 阅读 · 0 评论 -
c语言中的头文件
在系统架构时,常会包含头文件.h和代码文件.c。这几天阅读了部分的C代码,对头文件有一些自己的想法,特意写到了自己的博客中,毕竟知识是在于积累的。 头文件,在代码编译执行过程中,起到预先编译的作用,在它里面都会包含有这些内容。相关数据结构声明: 为增加代码的维护性,我们会预先在头文件中,把需要使用的数据结构用typedef预先声明好,这样我们在代码文件中再定义,就可以使原创 2009-10-22 22:42:00 · 829 阅读 · 1 评论 -
Linux下socket编程基础
接触linux已有一段时间了,感觉自己不能仅停留在敲命令的基础上,应该有所进步,所以开始了自己的编程之路。 关于Socket编程的一些介绍,个人认为介绍的相当详细。有关于Socket type的详细介绍。看了这些之后才明白了Socket type的真正意思。。。。谢谢这位作者,所以就转过来了,以后随时还可以再翻阅!Linux 下Socket编程基础 东北大学秦皇岛分校软件中心技术研发部转载 2009-10-21 15:52:00 · 429 阅读 · 0 评论 -
基于TCP的socket编程步骤
基于TCP的socket编程步骤:服务器端:1、 创建套接字;使用socket()#include#includeint socket(int domain,int type,int protocol)建立服务器端的socket套接字2、 绑定套接字到一个IP地址和一个端口上;使用bind()#include#includeint bind(int sockfd,struct soc转载 2009-10-22 09:30:00 · 856 阅读 · 0 评论 -
C语言 条件编译详解
C语言 条件编译详解预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C 语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预 处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含转载 2009-10-14 14:55:00 · 300 阅读 · 0 评论 -
C中的CONST
C中的CONST C中CONST的使用: const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。 虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题。 问题:const转载 2009-10-06 11:01:00 · 393 阅读 · 0 评论 -
C语言获取系统环境变量
unistd.hextern char ** environ;char **env = environ; while(*env) { puts(*env); env++; }Function: char * getenv (const char *name) //获取系统变量值 Function: int setenv (const char *name, const char *value, int原创 2011-04-18 17:45:00 · 15822 阅读 · 1 评论