c语言与“烫烫烫烫”

ASK-1:新手调试代码的时候,经常看到一大串的这个: 烫烫烫烫烫烫烫烫烫烫烫烫? 这是什么意思?

Quicl帮你回答:这一大串的十六进制就是0xCCCCCCCCCC,是windows的int 3调试中断。在Debug时,Windows将局部内存初始化为int 3命令,这样发生非法调用时就会进入中断。

ASK-2:那怎样解决这个问题呢?

Quicl帮你回答:一般来说你是在输出一个数组,看看你的指针是否越界(白:也就是看看你的For循环跳出条件对与否等等)

祝大家身体健康、学习进步、工作愉快。

Quicl’sBlog —— 关注ACM/编程,小涉Linux以及无线网络

如何写出优美的C语言代码

基础知识

结构体

除了提供基本数据类型外,C 语言还提供给用户自己定制数据类型的能力,那就是结构体,在 C 语言中,你可以用结构体来表示任何实体。结构体正是面向对象语言中的类的概念的雏形,比如:

typedef struct{float x;float y;}Point;

定义了一个平面坐标系中的一个点,点中有两个域,x 坐标和 y 坐标。

结构体中的域称为结构体的成员。结构体中的数据类型可以是简单数据类型,也可以是其他的结构体,甚至结构体本身还可以嵌套,比如,一个标准的链表结构可以进行如下定义:

typedef struct node{void *data;// 数据指针int dataLength;// 数据长度struct node *next;// 指向下一个节点}Node;

可以看到,结构体 node 中的 next 指针的类型又是 node 类型。

函数指针

指针是 C 语言的灵魂,是 C 比其他语言更灵活,更强大的地方。所以学习 C 语言必须很好的掌握指针。函数指针,即指向函数在内存映射中的首地址的指针,通过函数指针,可以将函数作为参数传递给另一个函数,并在适当的时候调用,从而实现异步通信等功能。

比如, UNIX/Linux 系统中的信号注册函数,其原型如下:

Continue reading

C语言规范(新手看的)

许多时候初学者会看到高手写的程序感觉非常的专业,但自己就是说不出来哪里专业。对比两人的程序感觉不一样就是说不出来,为此quicl收集了一种非常系统的方法,让你的程序看起来也是专业的水准。很多时候代码规范就是专业,让我们一起来学习吧~~

注释

1,采用中文;

2,开始的注释:

   文件(模块)注释内容:

   公司名称、版权、作者名称、修改时间、模块功能、背景介绍等,复杂的算法需要加上流程说明;

比如:

Continue reading

c语言的重要性

很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言?我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭。为什么C语言如此重要呢?

第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。

第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。

第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl…哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。

那么究竟怎样学习C语言呢?

Continue reading