嵌入式LinuxC基础:预处理、结构体

一、宏定义:#define

1.1无参宏定义

#define  标识符  字符串

1.2带参宏定义

#define  宏名(形参表)  字符串

二、文件包含

#include“文件名”

#include<文件名>

使用尖括号表示在包含文件目录中去查找,包含目录是由用户在设置环境时设置的,而不在源文件目录查找;使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。

三、条件编译

3.1第一种形式

#ifdef 标识符

            程序段1

#else

            程序段2

#endif

3.2第二种形式

#ifndef 标识符

            程序段1

#else 

            程序段2

#endif

3.3第三种形式

#if 常量表达式

            程序段1

#else

            程序段2

#endif

四、关于#和##

#的功能是将其后面的宏参数进行字符串化操作

##被称为链接符,用来将两个Token链接成为一个Token。这里的链接对象是Token,而不一定是宏变量。

五、结构体

一般形式:

struct 结构体名

{

        类型名 1   成员名 1

        类型名 2   成员名 2

        类型名 3   成员名 3

};

六、#define和typedef的区别

typedef (int*)  pINT;

#define pINT2 int*

typedef是为了增加可读性而为标识符起的新的名称,仅仅是个别名。

#define原本在C语言中是为了定义常量

七、结构体和联合体的区别

struct和union都是由多个不同的数据类型成员组成的,但在任何同一时刻,union中止存放了一个被选中的成员,而struct中所有成员都在。

你可能感兴趣的:(Linux)