• C语言培训01


      今天开始了C语言培训的第一天,对于C语言我估计还停留在大一学C语言编程设计那个水平,对于C语言中的指针以及结构体等等那是很迷惑,所以后面就放弃了c,C++学习,果断转让C#门下,唉,可惜啊找到一个做C语言开发的职位,木有办法,只能从头学习C语言了。

      今天老师讲的也不是很多,主要是讲一些低级错误案例,看似低级的错误也不容易发现,以至于在产品上线以后造成更大的经济损失。今天主要分为五个大部分来讲解,通过实际中的低级错误案例,来学习如何避免这些错误。

    1. 内存与消息:这一部分是我最讨厌的,特别是指针,每次都搞的头很大,也很难理解。这一部分还涉及内存的申请,分配和释放,还有一些堆栈相关知识,需要特别注意的地方有一下几点:
      1:每次申请内存,都有判断内存释放分配成功
      2:函数退出时,必须把申请的内存释放掉
      3:使用指针之前必须判断指针的有效性,杜绝使用空指针
      4:分配好的内存指针也有初始化
      5:返回指针数据时不能返回堆栈中的地址
      6:内存释放掉以后,应该把指针设置为NULL.
    2. 数据类型强制转换
      1:内存越界()
      2:结构体字节对齐
      3:大端(一般指开发平台例如windows,linux),小端(开发板,一些硬件设施)之间转换
    3. 循环变量
      1:变量务必初始化
      2:使用循环变量,尽量不使用uchar类型
    4. 定义,结构体使用
      1:栈空间是有限的,用完记得释放
      2:局部变量(数组)大小不超过1K,全部局部变量大小不超过4K
    5. 运算符使用
      1:建议不使用默认优先顺序,一定加括号,不要挑战记忆的极限
      2:加法,减法,乘法要注意结果,不要溢出

      还有重要的一点:函数的入参值,指针以及函数的返回值 在使用之前都务必要检查其合法性。

  • 相关阅读:
    Android中对TextView中的部分内容的字体样式的设置方法
    Android中的ListView的绘制过程中执行的方法
    EL表达式的简单介绍
    Android中ViewPgae中的Fragment如何确认当前页面可见的问题
    Jsp中的注释
    Android onActivityResult()运行时刻的问题
    JSTL标签的用法详解
    JavaWeb开发中遇到的错误:org.apache.catalina.core.StandardWrapperValve invoke
    Apache中配置数据库连接池(数据源)
    IT阅读——关于“业务”
  • 原文地址:https://www.cnblogs.com/lemonloves/p/2935696.html
Copyright © 2020-2023  润新知