C语言代码 static int a[]={5,3,7,2,1,5,4,10}; 中的 static 是什么意思? c语言问题 {static int a[] ={5,10,7...

C\u8bed\u8a00\uff0c\u6267\u884c\u4ee5\u4e0b\u7a0b\u5e8f\u6bb5\u540e\uff0cs\u7684\u503c\u4e3a\u3010 \u3011\u3002 static int a[ ] = {5,3,7,2,1,5,4,10}; int s=0, k;

\u4f60\u597d\uff1a
\u7b54\u6848\u9009A 17\u3002
\u56e0\u4e3a\u5728for\u5faa\u73af\u4e2d\uff0ck\u4e3a0\u30012\u30014\u30016\u30018\uff0c\u800c*(a+k)\u662f\u5728\u6570\u7ec4a\u5185\u6309\u5730\u5740\u53d6\u7b2ck\u4e2a\u5143\u7d20\uff0c\u548c\u53d8\u91cfs\u8fdb\u884c\u7d2f\u52a0\uff0ck=0\u30012\u30014\u30016\u65f6\uff0ca\u76f8\u5e94\u7684\u6570\u7ec4\u503c\u4e3a5\u30017\u30011\u30014\uff0c\u800c\u5728k=8\u65f6\uff0c\u8d85\u51fa\u4e86\u6570\u7ec4\u7684\u8fb9\u754c\uff0c\u6240\u4ee5\u4e3a0.

\u6240\u4ee5s\u76f8\u52a0\u8d77\u6765\u4e3a17.
\u5e0c\u671b\u6211\u7684\u56de\u7b54\u80fd\u5e2e\u52a9\u5230\u4f60\u3001

\u8fd9\u4e2a\u4e0d\u5c31\u662f\u666e\u901a\u7684sum\u7d2f\u52a0\u6c42\u548c\u4e48\uff1fp\u662f\u4e00\u4e2aint\u578b\u6307\u9488\uff0c\u6307\u5411\u9759\u6001\u5c40\u90e8\u6570\u7ec4(\u5728\u8fd9\u91cc\u4e0d\u7528\u7ba1\u5b83\u662f\u4e0d\u662f\u9759\u6001\u7684)a\u7684\u9996\u5730\u5740\uff0c\u6bcf\u6b21\u5faa\u73afp\u540e\u79fb2*sizeof(int)\u4e2a\u5b57\u8282\uff0c\u5176\u5b9e\u4e5f\u5c31\u662fp\u6307\u5411a\u7684\u4f4d\u7f6e\u540e\u79fb\u4e24\u4e2a\uff0csum\u6bcf\u6b21\u52a0p\u6240\u6307\u5411\u5730\u5740\u7684\u503c\uff0c\u6700\u540e\u5c31\u662f5+7+8+4=24

静态变量申明,表示该变量只在该变量所在的模块中有效。如
一个工程含多个源文件,其中一个文件有静态变量定义
1.c
static int a = 3;
另外一个文件同样有一个静态变量定义
2.c
static int a = 3;
尽管这两个变量同名但由于只在它所在的模块中有效,所以程序正确,相互将不产生任何影响。

但是,对于非静态全局变量,如:
1.c
int a = 3;
另外一个文件同样的变量定义
2.c
int a = 3;
则会出现变量重复定义的错误,因为这里的变量在整个程序范围内有效。

静态变量,就是下次调用这个变量的时候继续保持上一次的值~

静态变量
程序加载的时候就为之分配内存,一直到程序结束,而不像普通变量那样函数执行一次分配一次。

静态变量,只执行一次定义。

扩展阅读:c语言代码生成器 ... c语言新手入门代码 ... c语言必背100代码 ... 初学编程100个代码大全 ... 最浪漫的编程代码 ... c语言static的用法 ... 编程必背100个代码 ... c++编程跳动爱心代码 ... 代码 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网