我是靠谱客的博主 大力酸奶,最近开发中收集的这篇文章主要介绍查询关键字输出信息c语言,C语言关键字,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

关键字static的作用是什么?这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:

1、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2、

在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

3、在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

大多数应试者能正确回答第一部分,一部分能正确回答第二部分,但是很少的人能懂得第三部分。做为一个合格的软件工程师,我们要懂得第三部分的作用,要懂得本地化数据和代码范围的好处和重要性。

int testStatic()

{

int x=1;

x++;

return x;

}

main()

{

int i;

for(i=0;i<5;i++)

printf("%dn",testStatic());

}

输出为:

2

2

2

2

2

int testStatic()

{

static int x=1;

x++;

return x;

}

main()

{

int i;

for(i=0;i<5;i++)

printf("%dn",testStatic());

}

输出为:

2

3

4

5

6

const

有什么用途?

(1)可以定义

const

常量

(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。const意味着"只读"。区别如下代码的功能非常重要。

const int a;

int const a;

const int *a;

int * const a;

int const * a const;

前两个作用是一样的,a是一个常整型数。

第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。

第四个意思是a是一个指向整型数的常指针(也就是,指针指向的整型数是可以修改的,但指针是不可修改的)。

最后一个意味着a是一个指向常整型数的常指针(也就是,指针指向的整型数是不可修改的,同时指针也是不可修改的)。

(1)

关键字const的作用是为给读你代码的人传达非常有用的信息。例如,在函数的形参前添加const关键字意味着这个参数在函数体内不会被修改,属于"输

入参数"。在有多个形参的时候,函数的调用者可以凭借参数前是否有const关键字,清晰的辨别哪些是输入参数,哪些是可能的输出参数。

(2)合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改,这样可以减少bug的出现。

const在C++语言中则包含了更丰富的含义,而在C语言中仅意味着:"只能读的普通变量",可以称其为"不能改变的变量"(这个说法似乎很拗口,

但却最准确的表达了C语言中const的本质),在编译阶段需要的常数仍然只能以#define宏定义!故在C语言中如下程序是非法的:

const int SIZE = 10;

char a[SIZE];

请解释volatile的含义?

volatile字面意思是易于挥发的。这个关键字来描述一个变量时,意味着给该变量赋值(写入)之后,马上再读取,写入的值与读取的值可能不一样,所以

说它"容易挥发"的。这是因为这个变量可能是一个寄存器,直接与外部设备相连,你写入之后,该寄存器也有可能被外部设备的写操作所改变;

或者,该变量被一个中断程序,或另一个进程改变了。volatile 不会被编译器优化影响。

最后

以上就是大力酸奶为你收集整理的查询关键字输出信息c语言,C语言关键字的全部内容,希望文章能够帮你解决查询关键字输出信息c语言,C语言关键字所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部