初识C语言总结4

本文介绍了C语言中的关键字,如`typedef`用于类型重命名,`static`修饰局部变量以延长其生命周期,以及改变全局变量的作用域和函数的连接属性。同时,讲解了`#define`用于定义常量和宏,通过示例展示了其在简化复杂类型名称和计算中的应用。
摘要由CSDN通过智能技术生成

主要内容:

1 常见关键字

2 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 关键字 typedef

typedef 就是类型定义,即类型重命名。

例如:

//将unsigned int 重命名为unint_1,所以unint_1也是一个类型名
typedef unsigned int unint_1;
int mian()
{
	unsigned int a = 0;
	unint_1 b = 0;
	//a和b这两个变量的类型是一样的
	return 0;
}

可以用于将复杂的类型名称进行简化

2 关键字static

在C语言中:

static 是用来修饰变量和函数的

1.修饰局部变量---静态局部变量(改变局部变量的生命周期)

正常情况下局部变量在出代码块({})是会自动销毁

#include<stdio.h>
void test()
{
	int i = 0;
	i++;
	printf("%d", i);
}
int main()
{
	int i = 0;
	for (i = 0;i < 10;i++)
	{
		test();
	}
	return 0;
}

运行结果:

由于局部变量在出代码块({})以后会自动销毁,局部变量 i 的值不会进行累加

在 static 修饰情况下

#include<stdio.h>
void test()
{
	static int i = 0;
	i++;
	printf("%d", i);
}
int main()
{
	int i = 0;
	for (i = 0;i < 10;i++)
	{
		test();
	}
	return 0;
}

运行结果:

结论:

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

2.修饰全局变量---静态全局变量(改变全局变量的作用域)

正常情况下全局变量不受代码块({})的限制,可以在外部文件内部使用

运行结果:

在 static 修饰全局变量以后,改变了全局变量的作用域,只可以在内部文件内使用

运行结果:

链接错误

结论:

一个全局变量被  static 修饰,使得这个全局变量只能在本源文件内使用,

不能在其他源文件内使用。

3.修饰函数---静态函数(改变函数的连接属性)

正常情况下函数只需要在外部源文件中进行函数声明即可在外部源文件中使用,但 static 修饰以后会改变函数的连接属性

运行结果:

连接错误

结论:

一个函数被 static 修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。

2 #define 定义常量和宏

//define 定义标识符常量
#define MAX 1000
//define 定义宏
#define ADD(x,y) ((x)+(y))

#include<stdio.h>
int main()
{
    int sum = ADD(2, 3);
    printf("sum= %d\n",sum);
    sum = 10*ADD(2, 3);
    printf("sum = %d\n",sum);
    return 0;
}

运行结果:

今天就到这里了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值