重新回顾那些数值类型(int、short、long、float、double)、字符类型(char)、构造类型(数组、结构体struct、共用体union、枚举类型enum)、指针类型、空类型(viod)、定义类型(typedef)等,很多都忘记了。。。
在linux下,各类型所占的字节数与一般C下有点区别。对于各类型所占字节数,在linux虚拟机下,通过sizeof很容易查看(int4字节、char1字节、short2字节,)。
在一个变量初始化的时候,要明白什么是申明和定义,如,int i和extern int i。两者主要区别在于申明不分配内存,该形参或变量已存在,可以直接调用,而定义一个变量要分配内存。
同时,还课上讲到了一个重要知识点,内存空洞。简单地讲,在linux下,内存空洞就是数据向高字节数据对齐而空出的存储单元。它在结构体中常出现。
结束了数据的一些基本类型介绍,开始了一些简单编程。struct A结构体、strcat(字符串链接)、strlen(字符串长度)、strstr(字符串查找),对于我而言,编程中最长出现的问题就是“段错误”和“死循环”。在用指针进行编程时,最容易出现“段错误”。解决“段错误”的最好方法就是在每一个模块后进行输出排查(printf操作)。有时也会遇到数据类型不匹配等小问题。总之,在编程时,先要构思(框架的创建),然后确定编写方法(内容的确定)。一切的基础,要细心,要注意细节。。。。