6day_Linux


【1】
struct 结构体类型名
{
数据类型   成员名1;
数据类型   成员名2;

数据类型   成员名n;
};

【2】定义结构体变量

struct 结构体名
{
成员列表;
}变量名1;

struct 结构体名 变量名2;


【3】访问结构体成员
结构体变量名.成员名


【4】结构体初始化操作

struct 结构体名 变量名={初始数据表};


【5】无名结构体
没有类型名。
一般状态下:无名结构体不可以定义局部变量。

【6】结构体嵌套
1--- 成员所属的数据类型是 结构体类型
2--- 内部的结构体通常定义为无名结构体

【7】结构体数组
本质是数组,元素是结构体类型

【8】结构体指针

本质是指针,指向一个结构体数据


【9】typedef

用于给已存在的类型名,进行重命名。

 

【10】共用体
1--- 定义

union 共用体类型名
{
成员表列;
}变量名1;

union 共用体类型名 变量名2;


2--- 成员共用同一个存储区域;


【11】

|
关键字 变量位置 存储期 作用域 | 存储模型
-------------------------------------------------------------|---------------
局部变量 函数同步 函数内 |
1、auto(默认) | 自动存储
全局变量 程序同步 本文件内 |
-------------------------------------------------------------|---------------
|
2、register 局部变量 函数同步 函数内 | 寄存器存储 1、double不能使用reg
| 2、存储在寄存器中
-------------------------------------------------------------|---------------
|
局部变量 程序同步 函数内 | 空链接 1、程序同步
| 2、初始化一次
3、static | 3、初始化
|
全局变量 程序同步 本文件 | 内部连接
|
-------------------------------------------------------------|---------------
|
4、extern 全局变量 程序同步 多文件 | 外部链接
|
-------------------------------------------------------------|---------------

 

【12】malloc(手动分配和释放)

void *malloc(size_t size);
功能: 申请 size个字节大小的空间
返值: 就是这段申请空间的首地址

void free(void *ptr);
功能:释放堆区手动申请的空间

malloc 和 free 一般是配对使用。有申请一般都有释放。


【13】Makefile

target : dependency_files
<TAB> command

1---
gcc -c main.c -o main.o
gcc main.o -o main

main:main.o
main.o:main.c

2---
gcc -c main.c -o main.o
gcc -c add.c -o add.o
gcc -c sub.c -o sub.o

gcc *.o -o main


$< 第一个依赖文件的名称
$+ 所有的依赖文件,以空格分开,并以出现的先后为序
$^ 所有不重复的依赖文件,以空格分开
$@ 目标文件的完整名称
$* 不包含扩展名的目标文件名称
$? 所有时间戳比目标文件晚的的依赖文件,并以空格分开
$% 如果目标是归档成员,该变量表示目标的归档成员名称

 

posted @ 2016-09-28 18:44  星星之火pxl  阅读(96)  评论(0编辑  收藏  举报