zoukankan      html  css  js  c++  java
  • 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:加法,减法,乘法要注意结果,不要溢出

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

  • 相关阅读:
    Arduino Uno微控制器采用的是Atmel的ATmega328
    关于arduino与SPI
    fopen和fopen_s用法的比较
    C语言中 malloc
    补码原理——负数为什么要用补码表示
    晶振
    晶振(crystal)与谐振荡器(oscillator)
    LCD显示器缺陷自动化检测方案
    arduino 动态内存不足问题
    文档生成工具——Doxygen
  • 原文地址:https://www.cnblogs.com/lemonloves/p/2935696.html
Copyright © 2011-2022 走看看