C语言学习day07:类型限定
2023-12-13 22:08:37
类型限定:
需要的限定符:
限定符 | 含义 |
extern | 声明一个变量,extern声明的变量没有建立存储空间 |
const | 定义一个变量,常量的值不能修改const int a=10; |
volatile | 防止编译器优化代码 |
register | 防止寄存器变量,提高效率。register是建议型指令,而不是命令型的指令,如果CPU有空闲寄存器,那么register就生效,如果没有空闲寄存器,那么register无效 |
extern:
声明变量:告诉内存有那么一个变量,可能没使用,但是有那么一个变量
代码:
int main01()
{
//声明变量:告诉内存有那么一个变量,可能没使用,但是有那么一个变量
extern int a;
//定义+赋值
int a = 10;
return EXIT_SUCCESS;
}
const:
定义一个常量:常量的值不能修改
代码:
int main02() {
//定义一个常量:常量的值不能修改
const int a = 10;
return 0;
}
volatile:
防止编译器优化代码
举个例子:
?? ?假如有一个U盘,在里面我们写了个int a;
? ? 因为一个U盘,它的格式我们不确定
? ? 所以a没有赋值,编译器检测到后,可能直接删掉(优化掉);
? ? a删掉后插进U盘中,a就不见了用不了了
代码:
int main03() {
//防止编译器优化代码
/*
假如有一个U盘,在里面我们写了个
int a;
a没有赋值,编译器检测到后,可能直接删掉(优化掉);
a删掉后插进U盘中,a就不见了用不了了
*/
volatile int a;
return 0;
}
register:
定义寄存器变量:提高效率
这是建议型指令,建议不使用,占用内存
int main04() {
//定义寄存器变量:提高效率
//这是建议型指令,建议不使用,占用内存
register int a;
return 0;
}
文章来源:https://blog.csdn.net/q13407441836/article/details/134939107
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!