C语言基础之关键字+宏

关键字类型

我们通常将关键字分为4个部分:数据类型关键字、控制语句关键字、存储类型关键字、其它关键字。

  1. 数据类型关键字:
  • char 声明字符型变量或函数
  • double 声明双精度变量或函数
  • enum 声明枚举类型
  • float 声明浮点型变量或函数
  • int 声明整型变量或函数
  • long 声明长整型变量或函数
  • short 声明短整型变量或函数
  • signed 声明有符号类型变量或函数
  • struct 声明结构体变量或函数
  • union 声明联合数据类型
  • unsigned 声明无符号类型变量或函数
  • void 声明函数无返回值,声明无类型指针

2.控制语句关键字

  • for
  • break
  • while
  • do
  • continue 结束当前循环,开始下一轮循环
  • if
  • else
  • goto 无条件跳转语句
  • switch
  • case
  • default 开关语句中的“其他”分支
  • return

3.存储类型关键字

  • auto 声明自动变量 一般不使用
  • extern 声明变量是在其他文件正声明(也可以看做是引用变量)
    (定义只能定义一次,声明可以多次声明)
  • register 声明积存器变量
  • static 声明静态变量或函数

4.其它关键字

  • const 声明只读变量
  • sizeof
  • typedef 用以给数据类型取别名(当然还有其他作用)
  • volatile 说明变量在程序执行中可被隐含地改变

先来重点说几个关键字:

typedef
它是类型定义,可以理解为是给类型重命名。

#include<stdio.h>
typedef unsigned int int_15;//将unsigned int重命名为int_15,int_15也是一个类型名。
int main()
{
	unsigned int x = 0;
	int_15 y = 0;
 	return 0;
 }

static
在C语言中static是修饰变量和函数的
我们先来看一段代码

#include<stdio.h>
void Show()
{
	 int i = 0;//局部变量
	 i++;
	 printf("%d\n", i);
}
int main()
{
	int i = 0;	
	for (; i < 10; i++)
	{
		  Show();
	}
	return 0;
}

这个程序打印出来都是1,是因为当我们的for循环每一次去调用函数Show时,函数内部的变量i就会被自动创建,函数返回时又会被自动释放,这就是局部变量的特征。

#include<stdio.h>
void Show()
{
  static int i = 0;//static修饰局部变量
  i++;
  printf("%d\n", i);
}
int main()
{
 int i = 0; 
 for (; i < 10; i++)
 {
    Show();
 }
 return 0;
}

这里static修饰变量i,那么i的生命周期就发生了改变。当第二次调用函数时,就直接从i++开始了。
即:
static修饰局部变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束,但是他的作用域其实是没有变化的

当static修饰全局变量时,代表该全局变量只在本文件内有效。当然全局变量是支持跨文件访问的。
当static修饰函数时,代表该函数只在本文件内有效。当然函数时支持跨文件访问的

#include<stdio.h>
#define M 123456
int main(){
	printf("M=%d\n", M);
	return 0;
}

宏只做简单的文本替换,便于代码的维护性,方便阅读

宏还有一种用法我们称为“宏函数”,但是它其实和函数没有一点关系,只是用法相似。不推荐使用。

#include <stdio.h>
#define Square(x) x*x
int main()
{
	printf("%d\n", Square(10));
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值