c语言常见关键字

常见关键字

auto 声明变量的生存期为自动 (默认为int型)
break 结束所有的循环
continue 结束本趟循环
break和continue必须放在循环体内
case switch语句

不能做switch的参数的类型有什么?
switch 的参数类型是整型的,不能是float,double
java中long不可以

const 定义常量(定义时初始化)

  • const修饰指针变量的时候:
  1. const如果放在的左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改变。但是指针 变量本身的内容可变。
  2. const如果放在的右边,修饰的是指针变量本身,保证了指针变量的内容不能修改,但是指针指向的内 容,可以通过指针改变。

goto 跳转到某一条标签标识的语句

int a = 10;
gaobo://标签
printf("hello");
goto   gaobo;//死循环

register

register int a = 10;// 建议编译器把a放到寄存器

extern 声明外部符号
typedef 类型重命名 复杂的类型
define 定义常量和宏

#define SIZE 10  //定义标识符常量
#define ADD(x,y)  x+y   //定义一个宏,宏是有参数的

宏的副作用:

#define ADD(x,y)  ((x)+(y))  //加括号

typedef和define的区别?

#define是与处理指令,在预处理时进行简单而机械的字符串替换,不做正确性检查,只有在编译已被展开的源程序时才会发现可能的的错误并报错;可以为类型取别名,还可以定义常量、变量、编译开关等;没有作用域的限制。
typedef是关键字,在编译时处理,有类型检查功能。它在自己的作用域内给一个已经存在的类型一个别名,但不能在一个函数定义里面使用typedef;只用来定义类型的别名;有自己的作用域。

typedef  int Arr[10] ;   // int[10]   加上typedef就会由变量变成对应的类型

static 修饰局部变量 提升局部变量的生存周期
修饰全局变量 作用域被限制到当前的源文件中
修饰函数 作用域被限制到当前的源文件中

static 和 extern的区别和联系?

extern 置于变量或者函数前,作用域是整个工程,表示变量或者函数的定义在别的文件中,通过在变量前添加extern来访问这个全局变量;修饰的变量没有真正的内存。
static 只要在全局变量前加static,那么这个全局变量的作用域就会缩小到当前文件,外界不能访问

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值