C 语言编程

73 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,[点击查看活动详情](juejin.cn/post/712312… "juejin.cn/post/712312…

进入未知领域,从简单的、能理解的东西试起,投入时间,就有收获。

生存指南 (jyywiki.cn)

误打误撞,C语言成了和我关系最深的语言。C语言作为我大学开始自学的第一门语言,从应用设计到到实现了我的第一个应用,到后面参加开源活动的接触点,再到面试通过的敲门砖。C语言简单的语法规则,易懂的编程逻辑永远是对我最友好的语言。

C语言的“面向对象实现”

很多时候在开源项目当中都能看到结构体内的函数指针,实际上C++中对象调用的实现,在C++中,编译器会帮你自动创建虚函数表,实现动态绑定。而在C语言中,则需要你自己实现。

struct func{
    int val;
    int (*add_val)(struct func *this, int a, int b);
};
​
void temp {
    struct func *ptr;
    ptr->temp(ptr, 1, 2);
}
开始编写C程序所需要知道的一些小技巧
1.1.1空白与注释

tab用于缩进语句哦哦哦欧!!! ​ 是的,/* 往往用来注释,而大家也一定被教导到,尽量不要删除语句,而是注释掉,以免又改了他人的语句,而别人不知。但是在C语言中/*不是一个很好的选择,你应该使用

#if 0
       statement
#endif

预处理指令的作用比你想象的更大!

1.1.2 预处理指令

preprocessor directives 如同可以使用#include访问stdio.h一样,如果你需要在不同的源文件中使用同一种声明,你就可以这样做。

1.1.3 main函数

在C语言中,数组参数传址调用,标量常量按值调用。

注释不一定是用来注释一些复杂的东西才用,一些功能模块也应该使用注释。 **可以自己在循环的时候加上< MAX(数组的最大位),以此防止溢出。

while((ch =getchar())!= EOF)

与上面类似,不论是if ( ) 、while()、for()等,都会在判断的时候执行括号中的语句,这样的话你可以,把一些赋值语句之类的放在括号中间,减少冗余。