• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

C语言难点在哪里,哪些位置要重点学习?

鹏70949 2019-11-13 浏览量:838
C语言难点在哪里,哪些位置要重点学习?感觉语法语句什么的都很简单呀,是不是实际运用比较容易出问题?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 当然是指针更难,只是单单说指针更难,略显空洞。应该结合C语言的应用场景,C语言基本都是在嵌入式之内用到,(这里把单片机也划归到嵌入式的领域),嵌入式的一个特点就是资源有限,没有那么大的内存以及存储空间给你用,单片机则更加拮据,在RAM只有几k,flash也就几十k的情况下,我甚至都想越过寄存器来直接操作地址,因为资源实在是太少了,除此之外,在一些工控领域或其他领域,实时性也是一个很需要考虑的因素,在一个强实时性系统中,我需要在几十us的时间内计算大量的算法,这时候怎么办,math库想都不要想,一个float都不能用,这时候除了计算方式的优化(一般使用定点运算Q格式),另一方面就可以用指针操作来加快程序运行速度,实践证明,运用指针是可以加快运行速度的。当然C语言也没有那么多保护机制,也正是因为如此,指针运用在千变万化的同时又很考验编程者对于指针是否熟悉,稍有不慎便会出现意想不到的问题。


    除此之外,结构体也是常用的,因为在C语言中,只有结构体是跟面向对象有点关系的东西,程序中用结构体,说明编程者就已经有了初步的对象的思维来管理程序,如果有兴趣看看别人写的库,包括ST写的STM32的库,以及一些开源的RTOS系统源码,都是非常好的,结构体与指针运用的模范程序,看这些C语言大佬是如何编写大型的C语言库的。结构体,指针,结构体指针,函数指针,指针函数,这些在库中是非常常见的,学习编写大型程序,会让C水平上升一个档次。

    • 发布于 2019-11-13
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:5
  • c语言的指针比较难,特别是一些函数指针,应用有回调函数等等,你可以学习下c++,c语言是相对简单一些
    • 发布于2019-11-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 其实关键就是 结构体 和 指针,

    这些在具体的应用中广泛应用。

    特别是指针的概念,这个是难点,也是C提供巨大灵活性的关键,当然,指针也是很多bug的原因,指针太灵活了,稍有不慎,管理上就可能造成bug,有些危害还很大。

    • 发布于2019-11-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 难点主要是指针,尤其是在指针运算符的应用上,不小心的话就会指向错误的地址,得出错误的值,在结合单片机应用的时候可以从实际出发,能简化语法就简化,太复杂的话逻辑或许出错,程序可能跑飞,还不容易找,写程序尽量以模块化来写,能用现成的经过的实践的就用,不一定非得重新写,这样出错的机会也少一点
    • 发布于2019-11-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 指针和结构体结合的那种会比较难,而且有些指针,指向的是一个函数,这种会更复杂

    指针操作需要对指针的合法性进行判断,否则容易越界

    • 发布于2019-11-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 难点主要是指针和结构体难是由于不小心的话就会指向错误的地址,而且这种bug一般不好找,要调试很长时间
    • 发布于2019-11-26
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

C语言难点在哪里,哪些位置要重点学习?