专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
TI
注意的关键字都有哪些
2019-07-31 17:23
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
TI MCU
11770
17
939
嵌入式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 修饰成员函数时不能用于构造和析构函数
加载中...
1
2
3
下一页
一周热门
更多
>
相关问题
CPLD的方波输出
4 个回答
11个版本Quartus II 软件下载,安装包网盘合集,附教程,47G!
20 个回答
请大家帮忙到21IC发展大家谈支持我申请新版面
20 个回答
【通知】21ic中国电子网服务条款 (所有人员必读)
1 个回答
满载而归乙亥年,大展鸿途庚子年---集签赢好礼
20 个回答
携手ADI,踏上电子工程师之巅—车辆电气化视频,答题领奖!
1 个回答
如何提升论坛质量,看你了!
20 个回答
【最终名单】二姨家喊你来拿100份新年大礼啦~
20 个回答
相关文章
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
TI
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
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 的静态成员变量
l 它是存储类型标识符 表明变量自动具有本地范围块范围的变量声明如for
循环体内的变量声明默认为auto 存储类型
l 声明变量或函数为外部链接 即该变量或函数名在其它文件中可见被其修饰的变量
外部变量是静态分配空间的即程序开始时分配结束时释放用其声明的变量或
函数应该在别的文件或同一文件的其它地方定义实现在文件内声明一个变量或函
数默认为可被外部使用
l 在 C++中还可用来指定使用另一语言进行链接这时需要与特定的转换符一起使用
目前Microsoft C/C++仅支持”C”转换标记来支持C 编译器链接使用这种情况有两种
形式
u extern “C” 声明语句
u extern “C” { 声明语句块 }
l 限定一个对象可被外部进程 操作系统硬件或并发线程等改变声明时的语法如
下
int volatile nVint;
这样的声明是不能达到最高效的 因为它们的值随时会改变系统在需要时会经常读写这个
对象的值只常用于像中断处理程序之类的异步进程进行内存单元访问
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 修饰成员函数时不能用于构造和析构函数
一周热门 更多>