注意的关键字都有哪些

2019-07-31 17:23发布

嵌入式C语言需要
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
huangchui
1楼-- · 2019-07-31 22:42
static
l 静态变量作用范围在一个文件内 程序开始时分配空间结束时释放空间默认初始
化为0 使用时可改变其值
l 静态变量或静态函数 即只有本文件内的代码才可访问它它的名字变量名或函数
名在其它文件中不可见
l 在函数体内生成的静态变量它的值也只能维持
int max_so_far( int curr )//求至今本次调用为止最大值
{
static int biggest; //该变量保持着每次调用时的最新值它的有效期等于整个程序的有效期
if( curr > biggest )
biggest = curr;
return biggest;
}
l 在 C++类的成员变量被声明为static 称为静态成员变量意味着它为该类的所有实
例所共享也就是说当某个类的实例修改了该静态成员变量其修改值为该类的其它所
有实例所见而类的静态成员函数也只能访问静态成员变量或函数
l 类的静态成员变量必须在声明它的文件范围内进行初始化才能使用 private 类型的也不
例外如
float SavingsAccount::currentRate = 0.00154;
注currentRate 是类SavingsAccount 的静态成员变量
zhanghqi
2楼-- · 2019-08-01 01:32
 精彩回答 2  元偷偷看……
zhenykun
3楼-- · 2019-08-01 04:19
auto
l 它是存储类型标识符 表明变量自动具有本地范围块范围的变量声明如for
循环体内的变量声明默认为auto 存储类型
wyjie
4楼-- · 2019-08-01 08:28
extern
l 声明变量或函数为外部链接 即该变量或函数名在其它文件中可见被其修饰的变量
外部变量是静态分配空间的即程序开始时分配结束时释放用其声明的变量或
函数应该在别的文件或同一文件的其它地方定义实现在文件内声明一个变量或函
数默认为可被外部使用
l 在 C++中还可用来指定使用另一语言进行链接这时需要与特定的转换符一起使用
目前Microsoft C/C++仅支持”C”转换标记来支持C 编译器链接使用这种情况有两种
形式
u extern “C” 声明语句
u extern “C” { 声明语句块 }
yszong
5楼-- · 2019-08-01 08:35
volatile
l 限定一个对象可被外部进程 操作系统硬件或并发线程等改变声明时的语法如

int volatile nVint;
这样的声明是不能达到最高效的 因为它们的值随时会改变系统在需要时会经常读写这个
对象的值只常用于像中断处理程序之类的异步进程进行内存单元访问
dengdc
6楼-- · 2019-08-01 10:15
const
l const 所修饰的对象或变量不能被改变修饰函数时该函数不能改变在该函数外面声
明的变量也不能调用任何非const 函数在函数的声明与定义时都要加上const 放在函
数参数列表的最后一个括号后
l 在 C++中用const 声明一个变量意味着该变量就是一个带类型的常量可以代替
#define 且比#define 多一个类型信息且它执行内链接可放在头文件中声明但在C
中其声明则必须放在源文件即.C 文件中在C 中const 声明一个变量除了不能
改变其值外它仍是一具变量如
const int maxarray = 255;
char store_char[maxarray]; //C++中合法C 中不合法
l const 修饰指针时要特别注意例
char *const aptr = mybuf; // 常量指针
*aptr = 'a'; // Legal
aptr = yourbuf; // Error
const char *bptr = mybuf; // 指针bptr 指向常量数据
*bptr = 'a'; // Error
bptr = yourbuf; // Legal
l const 修饰成员函数时不能用于构造和析构函数

一周热门 更多>