【C语言学习】常见关键字、define定义常量和宏

1. 常见关键字

auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

1.1 关键字typeof

typedef 顾名思义是类型定义,这里应该理解为类型重命名。例如:

//将unsigned int 重命名为uint_32, 所以uint_32也是一个类型名
typedef unsigned int uint_32;
int main()
{
   //观察num1和num2,这两个变量的类型是一样的
   unsigned int num1 = 0;
   uint_32 num2 = 0;
   return 0;
}

1.2 关键字static

在C语言中:static是用来修饰变量和函数的
1. 修饰局部变量-称为静态局部变量
2. 修饰全局变量-称为静态全局变量
3. 修饰函数-称为静态函数

1.2.1 修饰局部变量

出现以上情况的原因可以用下图解释:

ctrl+F10→test →F11进入test函数→static int a=1;→反汇编查看已经跳过执行这一步。

结论:
1. static修饰局部变量改变了变量的生命周期。
2. 让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束。

1.2.2 修饰全局变量


上述代码运行正常。


上述代码编译时会出现错误。

结论:
一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用。

1.2.3 修饰函数

static修饰函数同static修饰全局变量类似,被修饰的函数只能在本源文件内使用,不能在其他源文件内使用!

2. define定义常量和宏

2.1 define定义标识符常量

格式:#define 符号 数值

define max 100;

定义后的常量,作用域在整个项目,可以跨源文件调用

2.2 宏的概念

宏与函数其实十分类似,处理简单的逻辑问题可以用到宏,更复杂一点的就要使用函数上场了。
宏的格式有两种,分别是:
带参形式:define 宏名(参数表) 宏体
不带参形式:define 宏名 宏体
在这里插入图片描述
运用举例:

#include <stdio.h>
 
#define add(x,y) (x+y)
 
int main()
{
	int x = 10;
	int y = 20;
	int sum = add(x, y);
	printf("%d", sum);
	return 0

上述代码运行结果为2。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值