ITPub博客

首页 > 应用开发 > C/C++ > c语言深度解剖(入门篇)

c语言深度解剖(入门篇)

原创 C/C++ 作者:LinuxDevqqqqqq 时间:2018-11-22 16:51:30 0 删除 编辑

我认识的 C 语言

我从来没想到我会写这个文章, C 语言从开始接触到现在已经有十几年了,现在工作 90% 还是使用 C 语言,现在随着高级语言的越来越成熟, C 语言慢慢被大家所遗忘,使用 python 或者 java 高级语言的同学根本不需要知道内存使用和释放,而我们写 C 语言,到处都是小心翼翼,用了这么久,根本没有谈上精通。只能算个入门。

我认为

 

普通人用 语言在 年之下 , 一般来说 , 还没掌握 语言 ;“

”5  年之下 , 一般来说 , 还没熟悉 语言 ;“

”10  年之下 , 谈不上精通。

 

我希望带大家进入一个环境,到了这个环境,大家学会自己学习 C 语言,会自己找问题,自己去看编译原理,自己去调试,自己去弄明白指针,自己去搞明白数组,搞清楚关键字和函数,这样掌控自己的六脉神剑。

 

安装自己的编译器 IDE

什么是 IDE ?可以自行百度,就是一个软件用来运行 C 语言,帮你编译和运行,现在有很多在线编译器,但是不能单步调试,对于初学者来说根本不明白 C 语言是如何运行的,单步调试可以告诉你每个时刻代码在做什么事情,这样非常清晰,所以一个高手经常把 F10 F11 按坏掉。

 

如上图就是一个 IDE ,可以看到正确编译了

输出结果如下

  C 语言包含哪些东西

我们现在讨论的东西都是从单线程来分析的, C 语言可以理解成中文一样,中文有动词,名词,形容词, C 语言也一样,有函数,变量,关键字等等

比如上面的代码

#include "stdio.h"

 

int main ( void )

{

     printf( "HelloWorld\r\n" );

      return ;

}

#include “stdio.h” 这里是指包含了一个头文件,头文件的意思是里面装了一些现成的东西我们可以直接用,比如下面的 printf 这个函数就是从头文件里面来的

int main (void)  这个是 c 语言的入口,入门的意思就是代码从这里开始去执行,我说的是执行阶段,预编译阶段从第一行代码开始。

printf  这个是打印函数,我们在屏幕看到的 HelloWord 就是这个出来的。

return 0 是返回值,我们 main 函数的类型是 int , 所以我们这里需要 返回一个整形数字告诉函数最后的结果是 0.

{}这个是符合,函数里面的内容需要这个符合括起来形成一个整体。

 

用图片来看看思维导图

<img

用个小视频感受一下下面的代码

#include "stdio.h"

 

int main ( void )

{

     int = ,j = ;

     for (i  = ;i < 10 ;i ++ )

    {

        j  = + 1 ;

        printf( "%d\r\n" ,j);

    }

     return ;

}

可以看到,我们按下

图片下面单步执行,然后可以看到变量 i j 不断的再改变,然后循环 10 次。

想进入调试只需要按下键盘上的 F10

 

感兴趣的请看下一篇文章

嵌入式 Linux c 语言深度解剖(数据类型关键字)

zhuanlan.zhihu.com

后面的话

看评论很多人鄙视我用 VC 来举例子,然后我跟我同事说,他也 bishi 我,说用 GCC 会更好,还不如用网页版的编译器,然后我问他网页能看到栈空间吗?看到变量地址吗?能很方便的调试 IDE 吗?

他竟然说可以,然后打开个网页版本,输入一长串后, shilidalian

对于新手, GCC 并不是最合适的, GCC 需要记住指令命令,我给大家推荐 VC 也是有原因的,不希望大家都能赞同我,意见而已,如果你接受,并学习好了,那对你就是有用的。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31561984/viewspace-2221203/,如需转载,请注明出处,否则将追究法律责任。

下一篇: C语言 printf详解
请登录后发表评论 登录
全部评论
微信公众号-嵌入式Linux 嵌入式开发有10余年,从刚开始的STC89C51单片机,STM32单片机,ARM,Linux ,Nordic ble ,Android系统开发,在学习和开发过程中,积累了很多经验,希望这些学习经验跟在码农路上一起奋斗的同学们一起分享。

注册时间:2018-11-13

  • 博文量
    60
  • 访问量
    50316