结构体和宏定义

问题:

1.#define

2.#define M (y * y + 3 * y)?

3.宏定义在””中?

4.宏定义允许嵌套?

5.#include<>#include””?

6.条件编译?

7.结构体?

8.结构体赋初值?

9.引用结构体变量中的成员?

10.内存字节对齐?

解答:

1. #define 标识符 字符串;

  #号开头的都是预处理命令;define为宏定义命令;“标识符”为定义的宏名;“字符串

可以是常量、表达式、格式串。

2.在此宏定义中M替换的是(y * y + 3 * y)而不是y * y + 3 * y

3.#define OK 100

Int main()

{

Printf(“OK”);

Printf(“\n”);

}

宏名在源程序中若用引号括起来,则预处理程序不对其进行宏定义代换。

4. #define PI 3.1415926

   #define S PI * y * y

   已经定义的宏定义允许嵌套,宏展开是由预处理程序层层代换。

5. <>:表示在包含文件目录中去查找(包含目录是由用户在设置环境是设置的),而不在源 文件目录中查找。

   “”:表示首先在当前源文件目录中查找,若未找到才到源文件中查找。

6. #ifdef 标识符(#ifndef 标识符)(#if 常量表达式)

    程序段 1

   #else

程序段 2

   #endif

7. Struct j结构体名

{

类型名1 成员名1

类型名2 成员名2

类型名n 成员名n

};

Strcut student

{

Char name[10];

Char sex;问题:

1.#define

2.#define M (y * y + 3 * y)?

3.宏定义在””中?

4.宏定义允许嵌套?

5.#include<>#include””?

6.条件编译?

7.结构体?

8.结构体赋初值?

9.引用结构体变量中的成员?

10.内存字节对齐?

解答:

1. #define 标识符 字符串;

  #号开头的都是预处理命令;define为宏定义命令;“标识符”为定义的宏名;“字符串

可以是常量、表达式、格式串。

2.在此宏定义中M替换的是(y * y + 3 * y)而不是y * y + 3 * y

3.#define OK 100

Int main()

{

Printf(“OK”);

Printf(“\n”);

}

宏名在源程序中若用引号括起来,则预处理程序不对其进行宏定义代换。

4. #define PI 3.1415926

   #define S PI * y * y

   已经定义的宏定义允许嵌套,宏展开是由预处理程序层层代换。

5. <>:表示在包含文件目录中去查找(包含目录是由用户在设置环境是设置的),而不在源 文件目录中查找。

   “”:表示首先在当前源文件目录中查找,若未找到才到源文件中查找。

6. #ifdef 标识符(#ifndef 标识符)(#if 常量表达式)

    程序段 1

   #else

程序段 2

   #endif

7. Struct j结构体名

{

类型名1 成员名1

类型名2 成员名2

类型名n 成员名n

};

Strcut student

{

Char name[10];

Char sex;

Int age;

Float score;

}stu1, *ps, stu[5];                /*定义结构体类型的普通变量、指针变量和数组*/

 

Typrdef strcut [student]

{

Char name[10];

Char sex;

Int age;

Float score;

}STU;

STU stu1, *ps, stu[5];

4. Strcut

{

Char name[10];

Char sex;

Int age;

Float score;

}stu[2] = {{“Li”, ‘F’, 22, 90.5},{“Su”, ‘M’, 20, 88.5}};

5.  结构体变量名              “stu1.name

结构体指针变量->成员名   “ps->name

(*结构体指针变量).成员名   “(*ps).name

结构体变量数组名.成员名   “stu[0].name

6. typtdef strcut T

  {

Char c;    //本身长度1字节 = 8

_int64;    //本身长度8字节 = 8

Int e;     //本身长度4字节 = 4

Short f;    //本身长度2字节 = 2

Char g;    //本身长度1字节 = 2

Short h;   //本身长度2字节 = 8

}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值