• C语言被创造出来的基础是什么?它的主要结构是什么?


    c 是一种简单的语言。

    它真正提供的只有有宏、指针、结构、数组和函数。

    不管什么问题,c 都靠宏、指针、结构、数组和函数来解决。

    c是一种相对低级的语言,这就是说它可以处理对机器的一些操作。

    c的指针提供了独立于机器的地址算术。

    c没有很强的类型机制,虽然标准c加强了类型检查,但是比起Java或者c++,它的类型机制都不强。

    这带来很大的灵活性的同时也带来了很多的问题。

    c不提供直接的如字符串,集合,列表和数组等复合对象的操作。

    它不能处理整个数组或者字符串的操作。

    例如不能直接对整个数组进行比较。

    除了由函数的局部变量提供的静态定义和堆栈外,它没有任何存储分配工具;也不提供堆和无用内存的回收。

    也没有输入输出工具,没有read和write语句,也没有内部文件访问方法,所有这些都必须由函数调用来完成。

    幸好标准c函数库提供了这些函数,要不然使用c的难度真的太大了。

    由于它真正提供的东西很少,很多事情我们必须自己考虑。

    如内存的操作,数据的抽象和组织。

    而c++除了宏、指针、结构、数组和函数外,至少还提供了函数重载、缺省参数、自定义操作符、内联函数、引用、模板、异常、名字空间,等等。

    所以用c++比用c 具有更宽广的空间,因为设计时有更多的选择可以考虑,因此c++也称为更好的c。

    但这样简单的c却给我们带来很大的灵活性,可c语言的难也就难在了它的灵活。

    人们说指针难,数组难操作,其实根本还是在于它太灵活。

    对于数组和字符串操作,c++提供了模板,对于一些c语言里容易出现的错误如:数组越界,字符串结尾的空字符丢失等,c++可以定义类和重载解决这些问题,但在c语言这一切必须依靠我们的经验和细心。

    因此对于我来说我并不推荐学习的第一门语言就是c语言,我希望在得到一些结构化编程的训练后再去学c语言。

    这样当你在学习的时候就可以专注于c的那些烦人的陷阱和讨厌的低级操作。

    而不用费很多心思在结构化编程的细节上,比如:循环次数(初学者很容易出现少一次或多一次这样的错误),清晰的选择结构(即使是编程高手也不见得把程序写的很清晰)。

    如果你想直接学习c,那么也是先把它的语法熟悉,然后再去深入它的低级特性。

    总结的说来,学习c语言就是要多写程序,多调试,多看代码,理解它的特点和工作方式,然后用c语言思考问题。

    原文地址:https://www.weidianyuedu.com/content/4020553767349.html

  • 相关阅读:
    【HTTPS】运营商劫持、中间人攻击 与 加密
    得一微冲刺科创板上市:拟募资约12亿元,2021年营收同比增长260%
    使用并查集解决的相关问题
    Opencv——图像添加椒盐噪声、高斯滤波去除噪声原理及手写Python代码实现
    常见的近似算法
    服务器数据恢复-raid0硬盘故障导致服务器崩溃的数据恢复案例
    AES高级加密协议的动机阐述
    VectorCAST单元测试
    VUE3中 reacitive源码理解
    Map接口实现类的特点
  • 原文地址:https://blog.csdn.net/weixin_45707610/article/details/126640611