C语言一些关键字的作用-创新互联

目录

成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,十年企业及个人网站建设经验 ,为成都数千家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,成都品牌网站建设,同时也为不同行业的客户提供成都网站制作、做网站的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选创新互联。

1. static 关键字的作用?

2. const 关键字的作用?

3. volatile 关键字的作用? 

4. extern 关键字的作用? 

5. sizeof 关键字的作用? 


1. static 关键字的作用?

static 最主要功能是隐藏,其次因为 static 变量存放在静态存储区,具备持久性和默认值为 0
①隐藏作用,可以在不同的文件中定义同名变量和同名函数。
②对于变量来说,保持变量持久,静态数据区的变量会在程序刚刚运行时就完成初始化,也是唯一一次初始化;储存在静态数据区,静态存储区只有两种变量(全局变量和 static 静态变量)。
③默认初始化为 0x00,和全局变量一样的属性,减少程序员的工作量。 

2. const 关键字的作用?

①对变量加以限定不能被修改,常量必须在定义的时候同时被初始化。
②const 和指针一起使用,
const int *p1;
int const *p2;
int *const p3;
在三种情况中,第三种指针是只读的,p3 本身的值不能被修改;
第一二种情况,指针所指向的数据是只读的,p1,p2 的值可以修改,但指向的数据不能被修改。
③const 和函数形参一起使用
使用 const 单独定义变量可以用#define 命令替换,const 通常放在函数形参中。如果形参是一个指针,为了防止在函数内部修改指针指向的数据就可以用 const来限制。 

3. volatile 关键字的作用? 

因为访问寄存器要比访问内存单元要快的多,编辑器会作减少存取的优化。当使用 volatile 声明函数变量的时候,系统总是重新从它所在的内存读取数据。遇到这个关键字声明的变量,编译器对访问该变量的代码不再进行优化,从而提供对特殊地址的稳定访问; 如果不使用 valatile,编译器将对所声明的语句进行优化,以免出错。 

4. extern 关键字的作用? 

①函数内的局部变量,函数外定义的变量为全局变量,为静态存储方式,生存周期为整个程序,有效范围为定义变量的位置开始到本源文件结束。如果在定义前想要引用该全局变量,则应该加上 extern 作为 “外部变量声明”。多个源文件的工程想要引用一个源文件的外部变量也只许引用变量的文件中加入 extern 关键字加以声明,但是可以在引用的模块内修改其变量的值,慎用。
②extern “C”: C++代码调用 C 语言代码。在 C++的头文件中使用。 

5. sizeof 关键字的作用? 

sizeof 在 编译阶段处理,作用为取得一个对象(数据类型或数据对象)的长度(即占用内存的大小,以 1 字节为单位)。
①指针可以看做变量的一种,32 位操作系统 sizeof 指针都为 4,例子:
int *p;
sizeof(p) =4;
sizeof(*p) = sizeof(int )=4;
②对于静态数组,sizeof 可以直接计算数组大小,例:
int a[10];
char b[ ]= “hello”;
  sizeof (a) = 4 * 10 =40;
sizeof (b) = 6; (求字符串长度时要加上字符串结束符/0)
③数组作为函数形参时候,数组名当做指针 使用,例:
void fun (char p[ ])
{
  sizeof (p) ; //结果为 4
}
④ sizeof 与 stelrn 的区别:
*sizeof 是操作符, strlen 为函数;
*sizeof 可以使用类型作为参数,如 int char;
strlen 只能使用 char*做参数且以'\0' 为结尾
*sizeof 为数组时候,不退化, 传递给 strlen 时数组会被退化橙指针; 

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

当前题目:C语言一些关键字的作用-创新互联
分享路径:https://www.cdcxhl.com/article20/dpogco.html

成都网站建设公司_创新互联,为您提供网页设计公司虚拟主机企业网站制作网站维护小程序开发网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化