c语言中static关键字 C语言关键字static的作用是什么?

c\u8bed\u8a00\u4e2dstatic\u8bf4\u660e\u662f\u4ec0\u4e48\u610f\u601d?

\u5728C\u8bed\u8a00\u4e2d\uff0cstatic\u5173\u952e\u5b57\u7684\u4f5c\u7528\u5982\u4e0b\uff1a
1\u3001\u5728\u4fee\u9970\u53d8\u91cf\u7684\u65f6\uff0cstatic\u4fee\u9970\u7684\u9759\u6001\u5c40\u90e8\u53d8\u91cf\u53ea\u6267\u884c\u4e00\u6b21\uff0c\u800c\u4e14\u5ef6\u957f\u4e86\u5c40\u90e8\u53d8\u91cf\u7684\u751f\u547d\u5468\u671f\uff0c\u76f4\u5230\u7a0b\u5e8f\u8fd0\u884c\u7ed3\u675f\u4ee5\u540e\u624d\u91ca\u653e\u3002
2\u3001static\u4fee\u9970\u5168\u5c40\u53d8\u91cf\u7684\u65f6\uff0c\u8fd9\u4e2a\u5168\u5c40\u53d8\u91cf\u53ea\u80fd\u5728\u672c\u6587\u4ef6\u4e2d\u8bbf\u95ee\uff0c\u4e0d\u80fd\u5728\u5176\u5b83\u6587\u4ef6\u4e2d\u8bbf\u95ee\uff0c\u5373\u4fbf\u662fextern\u5916\u90e8\u58f0\u660e\u4e5f\u4e0d\u53ef\u4ee5\u3002
3\u3001static\u4fee\u9970\u4e00\u4e2a\u51fd\u6570\uff0c\u5219\u8fd9\u4e2a\u51fd\u6570\u7684\u53ea\u80fd\u5728\u672c\u6587\u4ef6\u4e2d\u8c03\u7528\uff0c\u4e0d\u80fd\u88ab\u5176\u4ed6\u6587\u4ef6\u8c03\u7528\u3002Static\u4fee\u9970\u7684\u5c40\u90e8\u53d8\u91cf\u5b58\u653e\u5728\u5168\u5c40\u6570\u636e\u533a\u7684\u9759\u6001\u53d8\u91cf\u533a\u3002

\u6269\u5c55\u8d44\u6599:
static\u5173\u952e\u5b57\u5728C\u8bed\u8a00\u3001C++\u3001java\u4e2d\u7684\u4f5c\u7528\u6709\u7740\u76f8\u4f3c\u4e4b\u5904\uff0c\u4f46\u4e5f\u5b58\u5728\u5dee\u5f02\uff1a
\u4e00\u3001C++\u7684static\u7528\u6cd5\uff1a
1\u3001\u9762\u5411\u8fc7\u7a0b\u7a0b\u5e8f\u8bbe\u8ba1\u4e2d\u7684static\u548c\u9762\u5411\u5bf9\u8c61\u7a0b\u5e8f\u8bbe\u8ba1\u4e2d\u7684static\u3002\u524d\u8005\u5e94\u7528\u4e8e\u666e\u901a\u53d8\u91cf\u548c\u51fd\u6570\uff0c\u4e0d\u6d89\u53ca\u7c7b\uff1b\u540e\u8005\u4e3b\u8981\u8bf4\u660estatic\u5728\u7c7b\u4e2d\u7684\u4f5c\u7528\u3002
2\u3001\u5728\u7c7b\u4e2d\uff0cstatic\u53ef\u4ee5\u7528\u6765\u4fee\u9970\u9759\u6001\u6570\u636e\u6210\u5458\u548c\u9759\u6001\u6210\u5458\u65b9\u6cd5
\u9759\u6001\u6570\u636e\u6210\u5458
\uff081\uff09\u9759\u6001\u6570\u636e\u6210\u5458\u53ef\u4ee5\u5b9e\u73b0\u591a\u4e2a\u5bf9\u8c61\u4e4b\u95f4\u7684\u6570\u636e\u5171\u4eab\uff0c\u5b83\u662f\u7c7b\u7684\u6240\u6709\u5bf9\u8c61\u7684\u5171\u4eab\u6210\u5458\uff0c\u5b83\u5728\u5185\u5b58\u4e2d\u53ea\u5360\u4e00\u4efd\u7a7a\u95f4\uff0c\u5982\u679c\u6539\u53d8\u5b83\u7684\u503c\uff0c\u5219\u5404\u5bf9\u8c61\u4e2d\u8fd9\u4e2a\u6570\u636e\u6210\u5458\u7684\u503c\u90fd\u88ab\u6539\u53d8\u3002
\uff082\uff09\u9759\u6001\u6570\u636e\u6210\u5458\u662f\u5728\u7a0b\u5e8f\u5f00\u59cb\u8fd0\u884c\u65f6\u88ab\u5206\u914d\u7a7a\u95f4\uff0c\u5230\u7a0b\u5e8f\u7ed3\u675f\u4e4b\u540e\u624d\u91ca\u653e\uff0c\u53ea\u8981\u7c7b\u4e2d\u6307\u5b9a\u4e86\u9759\u6001\u6570\u636e\u6210\u5458\uff0c\u5373\u4f7f\u4e0d\u5b9a\u4e49\u5bf9\u8c61\uff0c\u4e5f\u4f1a\u4e3a\u9759\u6001\u6570\u636e\u6210\u5458\u5206\u914d\u7a7a\u95f4\u3002
\uff083\uff09\u9759\u6001\u6570\u636e\u6210\u5458\u65e2\u53ef\u4ee5\u901a\u8fc7\u5bf9\u8c61\u540d\u5f15\u7528\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u7c7b\u540d\u5f15\u7528\u3002
\u9759\u6001\u6210\u5458\u51fd\u6570
\uff081\uff09\u9759\u6001\u6210\u5458\u51fd\u6570\u548c\u9759\u6001\u6570\u636e\u6210\u5458\u4e00\u6837\uff0c\u4ed6\u4eec\u90fd\u5c5e\u4e8e\u7c7b\u7684\u9759\u6001\u6210\u5458\uff0c\u800c\u4e0d\u662f\u5bf9\u8c61\u6210\u5458\u3002
\uff082\uff09\u975e\u9759\u6001\u6210\u5458\u51fd\u6570\u6709this\u6307\u9488\uff0c\u800c\u9759\u6001\u6210\u5458\u51fd\u6570\u6ca1\u6709this\u6307\u9488\u3002
\uff083\uff09\u9759\u6001\u6210\u5458\u51fd\u6570\u4e3b\u8981\u7528\u6765\u65b9\u4f4d\u9759\u6001\u6570\u636e\u6210\u5458\u800c\u4e0d\u80fd\u8bbf\u95ee\u975e\u9759\u6001\u6210\u5458\u3002
\u4e8c\u3001java\u7684static\u7528\u6cd5\uff1a
1\u3001\u58f0\u660e\u4e3astatic\u7684\u53d8\u91cf\u79f0\u4e3a\u9759\u6001\u53d8\u91cf\u6216\u7c7b\u53d8\u91cf\u3002\u53ef\u4ee5\u76f4\u63a5\u901a\u8fc7\u7c7b\u540d\u5f15\u7528\u9759\u6001\u53d8\u91cf\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5b9e\u4f8b\u540d\u6765\u5f15\u7528\u9759\u6001\u53d8\u91cf\uff0c\u4f46\u6700\u597d\u91c7\u7528\u524d\u8005\uff0c\u56e0\u4e3a\u540e\u8005\u5bb9\u6613\u6df7\u6dc6\u9759\u6001\u53d8\u91cf\u548c\u4e00\u822c\u53d8\u91cf\u3002
2\u3001\u58f0\u660e\u4e3astatic\u7684\u65b9\u6cd5\u79f0\u4e3a\u9759\u6001\u65b9\u6cd5\u6216\u7c7b\u65b9\u6cd5\u3002\u9759\u6001\u65b9\u6cd5\u53ef\u4ee5\u76f4\u63a5\u8c03\u7528\u9759\u6001\u65b9\u6cd5\uff0c\u8bbf\u95ee\u9759\u6001\u53d8\u91cf\uff0c\u4f46\u662f\u4e0d\u80fd\u76f4\u63a5\u8bbf\u95ee\u5b9e\u4f8b\u53d8\u91cf\u548c\u5b9e\u4f8b\u65b9\u6cd5\u3002\u9759\u6001\u65b9\u6cd5\u4e2d\u4e0d\u80fd\u4f7f\u7528this\u5173\u952e\u5b57\uff0c\u56e0\u4e3a\u9759\u6001\u65b9\u6cd5\u4e0d\u5c5e\u4e8e\u4efb\u4f55\u4e00\u4e2a\u5b9e\u4f8b\u3002
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-static\uff08\u8ba1\u7b97\u673a\u9ad8\u7ea7\u8bed\u8a00\uff09

\u7528\u4e8e\u58f0\u660e\u9759\u6001\u53d8\u91cf\u6216\u8005\u51fd\u6570\uff0c\u53c2\u89c1\u7f51\u9875\u94fe\u63a5

C++面向过程的static和C的是一样的。   C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。
  一、面向过程设计中的static
  1、静态全局变量
  在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:
  //Example 1
  #include <iostream.h>
  void fn();
  static int n; //定义静态全局变量
  void main()
  { n=20;
  cout<<n<<endl;
  fn();
  }
  void fn()
  { n++;
  cout<<n<<endl;
  }
  静态全局变量有以下特点:
  该变量在全局数据区分配内存;
  未经初始化的静态全局变量会被程序自动初始化为0(自动变量的值是随机的,除非它被显式初始化);
  静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的;
  静态变量都在全局数据区分配内存,包括后面将要提到的静态局部变量。对于一个完整的程序,在内存中的分布情况如下图:
  代码区
  全局数据区
  堆区
  栈区
  一般程序的由new产生的动态数据存放在堆区,函数内部的自动变量存放在栈区。自动变量一般会随着函数的退出而释放空间,静态数据(即使是函数内部的静 态局部变量)也存放在全局数据区。全局数据区的数据并不会因为函数的退出而释放空间。细心的读者可能会发现,Example 1中的代码中将
  static int n; //定义静态全局变量
  改为
  int n; //定义全局变量
  程序照样正常运行。
  的确,定义全局变量就可以实现变量在文件中的共享,但定义静态全局变量还有以下好处:
  静态全局变量不能被其它文件所用;
  其它文件中可以定义相同名字的变量,不会发生冲突;
  您可以将上述示例代码改为如下:
  //Example 2//File1
  #include <iostream.h>
  void fn();
  static int n; //定义静态全局变量
  void main()
  { n=20;
  cout<<n<<endl;
  fn();
  }
  //File2
  #include <iostream.h>
  extern int n;
  void fn()
  { n++;
  cout<<n<<endl;
  }
  编译并运行Example 2,您就会发现上述代码可以分别通过编译,但运行时出现错误。 试着将
  static int n; //定义静态全局变量
  改为
  int n; //定义全局变量
  再次编译运行程序,细心体会全局变量和静态全局变量的区别。
  2、静态局部变量
  在局部变量前,加上关键字static,该变量就被定义成为一个静态局部变量。
  我们先举一个静态局部变量的例子,如下:
  //Example 3
  #include <iostream.h>
  void fn();
  void main()
  { fn();
  fn();
  fn();
  }
  void fn()
  { static int n=10;
  cout<<n<<endl;
  n++;
  }
  通常,在函数体内定义了一个变量,每当程序运行到该语句时都会给该局部变量分配栈内存。但随着程序退出函数体,系统就会收回栈内存,局部变量也相应失效。
  但有时候我们需要在两次调用之间对变量的值进行保存。通常的想法是定义一个全局变量来实现。但这样一来,变量已经不再属于函数本身了,不再仅受函数的控制,给程序的维护带来不便。
  静态局部变量正好可以解决这个问题。静态局部变量保存在全局数据区,而不是保存在栈中,每次的值保持到下一次调用,直到下次赋新值。
  静态局部变量有以下特点:
  该变量在全局数据区分配内存;
  静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行初始化;
  静态局部变量一般在声明处初始化,如果没有显式初始化,会被程序自动初始化为0;
  它始终驻留在全局数据区,直到程序运行结束。但其作用域为局部作用域,当定义它的函数或语句块结束时,其作用域随之结束;
  3、静态函数
  在函数的返回类型前加上static关键字,函数即被定义为静态函数。静态函数与普通函数不同,它只能在声明它的文件当中可见,不能被其它文件使用。
  静态函数的例子:
  //Example 4
  #include <iostream.h>
  static void fn();//声明静态函数
  void main()
  {
  fn();
  }
  void fn()//定义静态函数
  { int n=10;
  cout<<n<<endl;
  }
  定义静态函数的好处:
  静态函数不能被其它文件所用;
  其它文件中可以定义相同名字的函数,不会发生冲突;

静态分配的变量。在编译阶段就已经为该变量分配内存并初始化,有别于函数中的动态分配的局部变量,他们只在调用该函数时分配内存,调用结束后内存被释放,而STATIC变量是静态分配的,函数调用结束后仍然存在,不管程序中有多少次调用,都使用同一个内存地址。

编译时只编译一次,防止重复编译带来的重定义错误

在C语言中,static关键字有三种用途:
1 用于全局变量定义时。
全局变量定义时加上static修饰,表示该变量为静态全局变量。作用域为当前文件。
2 用于函数定义或声明。
任意函数的定义或声明中包含了static修饰,表示该函数为静态函数,只能在本文件中被调用。
3 用于局部变量定义。
局部变量定义时,带有static关键字,表示其为静态局部变量,只被初始化一次,之后每次调用函数时,该变量值为上次函数退出时的值。即,改变量的生存周期被扩展到整个程序运行时间段内。

静态变量声明

  • Static鏄粈涔堟剰鎬濆晩,鍦C绋嬪簭閲岄潰
    绛旓細2銆佸閮ㄥ嚱鏁 澶栭儴鍑芥暟鐨勫畾涔夛細鍦ㄥ畾涔夊嚱鏁版椂锛屽鏋滄病鏈夊姞鍏抽敭瀛鈥static鈥濓紝鎴栧啝浠ュ叧閿瓧鈥渆xtern鈥濓紝琛ㄧず姝ゅ嚱鏁版槸澶栭儴鍑芥暟锛歔extern] 鍑芥暟绫诲瀷 鍑芥暟鍚嶏紙鍑芥暟鍙傛暟琛級{??} 璋冪敤澶栭儴鍑芥暟鏃讹紝闇瑕佸鍏惰繘琛岃鏄庯細[extern] 鍑芥暟绫诲瀷 鍑芥暟鍚嶏紙鍙傛暟绫诲瀷琛級[锛屽嚱鏁板悕2锛堝弬鏁扮被鍨嬭〃2锛??]锛涗簩銆C璇█鏄竴...
  • c璇█涓叧閿瓧鏈夊摢浜?
    绛旓細2銆佸鏉傜被鍨鍏抽敭瀛 struct锛氱粨鏋勪綋澹版槑銆倁nion锛氳仈鍚堜綋澹版槑銆俥num锛氭灇涓惧0鏄庛倀ypedef锛氬0鏄庣被鍨嬪埆鍚嶃俿izeof锛氬緱鍒扮壒瀹氱被鍨嬫垨鐗瑰畾绫诲瀷鍙橀噺鐨澶у皬銆俰nline:鍐呰仈鍑芥暟鐢ㄤ簬鍙栦唬瀹忓畾涔夛紝浼氬湪浠讳綍璋冪敤瀹冪殑鍦版柟灞曞紑銆3銆佸瓨鍌ㄧ骇鍒叧閿瓧 auto锛氭寚瀹氫负鑷姩鍙橀噺锛岀敱缂栬瘧鍣ㄨ嚜鍔ㄥ垎閰嶅強閲婃斁銆傞氬父鍦ㄦ爤涓婂垎閰嶃備笌static鐩稿弽...
  • c璇█涓const銆static鍏抽敭瀛鐨勭敤娉?
    绛旓細const鏄寚甯告暟锛岃繖绉嶆暟瀛樻斁鍦╮om涓紝涔熷氨鏄‖鐩閲锛屽彧鏈変娇鐢鐨鏃跺欐墠璇诲彇鍒板唴瀛樸static绫诲瀷鐨勬槸灞閮ㄩ潤鎬佹暟鎹紝棣栧厛浠栬偗瀹氭槸灞閮ㄥ彉閲忥紝浣嗘槸浠栫殑鐢熷瓨鏈熸槸鍏ㄥ眬鐨勩俢onst鏁颁笉鑳借淇敼锛屼篃涓嶈兘鏄眬閮ㄥ彉閲忋俿tatic涓鑸敤浜庡眬閮ㄥ彉閲忥紝浣嗘槸浠栧彲浠ヨ淇敼锛屽苟涓旈鍑哄紩鐢ㄤ粬鐨勫嚱鏁颁綋鍚庡彉閲忎緷鏃у瓨鍦紝鐩村埌涓嬩竴娆″紩鐢ㄦ椂...
  • static鏄疨ython鐨勫叧閿瓧鍚
    绛旓細static鏄C璇█涓鐨鍏抽敭瀛锛屼絾骞朵笉鏄疨ython涓殑鍏抽敭瀛楋紒鍦 C 璇█涓锛屽叧閿瓧 static 鐨勪綔鐢ㄦ槸锛1銆佸皢 auto 鍙橀噺锛堝潡浣滅敤鍩燂紝鍔ㄦ佸瓨鍌ㄦ湡锛屾棤閾炬帴锛夋敼鍙樺叾瀛樺偍鏈熶负闈欐佸瓨鍌ㄦ湡锛屽叾浠栧睘鎬т笉鍙樸2銆佸皢澶栭儴閾炬帴鐨勬枃浠朵綔鐢ㄥ煙鏍囪瘑绗︼紝淇敼涓哄唴閮ㄩ摼鎺ワ紝鍏朵粬灞炴т笉鍙樸傚湪 python 涓 global 鐩稿綋浜 C 璇█涓...
  • Static鏄粈涔堟剰鎬濆晩,鍦C绋嬪簭閲岄潰
    绛旓細鍐呴儴鍑芥暟 锛堝張绉伴潤鎬佸嚱鏁帮級濡傛灉鍦ㄤ竴涓簮鏂囦欢涓畾涔鐨鍑芥暟锛屽彧鑳借鏈枃浠朵腑鐨勫嚱鏁拌皟鐢紝鑰屼笉鑳借鍚屼竴绋嬪簭鍏跺畠鏂囦欢涓殑鍑芥暟璋冪敤锛岃繖绉嶅嚱鏁扮О涓哄唴閮ㄥ嚱鏁般傚畾涔変竴涓唴閮ㄥ嚱鏁帮紝鍙渶鍦ㄥ嚱鏁扮被鍨嬪墠鍐嶅姞涓涓static鈥鍏抽敭瀛鍗冲彲锛屽涓嬫墍绀猴細static 鍑芥暟绫诲瀷 鍑芥暟鍚(鍑芥暟鍙傛暟琛){鈥︹ 鍏抽敭瀛椻渟tatic鈥濓紝璇戞垚...
  • C璇█涓闈欐佸彉閲忎笌鍔ㄦ佸彉閲忕殑瀹氫箟涓庡尯鍒
    绛旓細1銆佸畾涔変笂锛岄潤鎬佸彉閲忔瘮鍔ㄦ佸彉閲忓涓涓鍏抽敭瀛梥tatic锛屾瘮濡傦細鍔ㄦ佸彉閲忥細int i;闈欐佸彉閲忥細static int i;2銆佸姩鎬佸彉閲忓湪瀛愮▼搴忎腑锛屾瘡娆¤皟鐢ㄦ椂閮戒細浠庨浂寮濮嬶紝涓嶄細淇濈暀鍘熸湁鏁版嵁锛岄潤鎬佸彉閲忚皟鐢ㄦ椂鍘熸湁鍊间笉浼氬彂鐢熸敼鍙橈紝姣斿锛歮ain(){ int i;for(i=0;i<5;i++)fun();//fun1();} void fun() //...
  • C璇█鐨勫叧閿瓧
    绛旓細C璇█鐨勫叧閿瓧 C璇█鐨勫叧閿瓧鏈夊摢浜?C璇█鐨勫疄闄呰繍鐢!!... C璇█鐨勫叧閿瓧鏈夊摢浜?C璇█鐨勫疄闄呰繍鐢!! 灞曞紑  鎴戞潵绛 3涓洖绛 #鐑# 浣犲彂鏈嬪弸鍦堜細浣跨敤閮ㄥ垎浜哄彲瑙佸姛鑳藉悧?鍖垮悕鐢ㄦ埛 2013-07-20 灞曞紑鍏ㄩ儴 绗竴涓叧閿瓧:auto 鐢ㄦ潵澹版槑鑷姩鍙橀噺銆 鍙互鏄惧紡鐨勫0鏄庡彉閲忎负鑷姩鍙橀噺銆傚彧瑕佷笉鏄0鏄庡湪鎵鏈...
  • C璇█涓鍙橀噺瀛樺偍static鍜宔xtern涓や釜鍏抽敭瀛鐨勪綔鐢ㄥ垎鍒槸浠涔
    绛旓細閭d箞鍦╢ile2.c鏄棤娉曡闂埌鍙橀噺a鐨勩傚師鍥犲湪浜庣敤static瀵瑰叏灞鍙橀噺杩涜淇グ鏀瑰彉浜嗗叾浣滅敤鍩熺殑鑼冨洿锛岀敱鍘熸潵鐨勬暣涓伐绋嬪彲瑙佸彉涓烘湰婧愭枃浠跺彲瑙併(3)淇グ鍑芥暟 鐢╯tatic淇グ鍑芥暟鐨勮瘽锛屾儏鍐典笌淇グ鍏ㄥ眬鍙橀噺澶у悓灏忓紓锛屽氨鏄敼鍙樹簡鍑芥暟鐨勪綔鐢ㄥ煙銆俥xtern鍏抽敭瀛 鍦C璇█涓锛屼慨楗扮extern鐢ㄥ湪鍙橀噺鎴栬呭嚱鏁扮殑澹版槑鍓嶏紝鐢ㄦ潵璇存槑...
  • c璇█涓鍙橀噺鍓鐨剆tatic鏈変粈涔堢敤???
    绛旓細static鍙橀噺澶ф鏄袱绉嶆儏鍐 鍦ㄥ嚱鏁伴噷鐨剆tatic鍙橀噺鎰忓懗鐫杩欎釜鍙橀噺鐨勭敓瀛樻湡鏄叏灞鐨勶紝浣犲彲浠ユ兂璞″畠瀹為檯涓婂氨鏄湪鍑芥暟澶栧0鏄庣殑锛 褰撶劧鍥犱负鍙鑼冨洿鐨勫師鍥犲叾浠栧嚱鏁颁笉鑳借闂畠 鍦ㄥ嚱鏁板鐨剆tatic鍙橀噺鎰忔濇槸鏈湴鐨勶紝 璺熶笉鍔爏tatic鐨勫樊鍒氨鏄叾浠栨枃浠朵笉鑳介氳繃extern鏉ヨ闂繖涓彉閲忋
  • c璇█鑷繁鍐欑殑澶存枃浠閲岄潰鐨鍑芥暟瀹氫箟涓轰粈涔堣鍔static?
    绛旓細濡傛灉涓嶅姞staic鐨璇濓紝澶存枃浠朵腑鐨勫悓涓涓嚱鏁板氨鐩稿綋浜庡湪鏁翠釜绋嬪簭涓瀹氫箟浜嗗娆★紝鎵浠ヨ偗瀹氫細鎶ラ敊銆俿tatic浼氭妸瀹冨畾涔変负鏈湴鍑芥暟锛屽皢鍏朵綔鐢ㄥ煙闄愬埗鍦ㄦ湰鏂囦欢鍐咃紝鎵浠ラ渶瑕佸姞涓static鍏抽敭瀛銆傚鏋滀笉鍔爏tatic鐨勮瘽锛屽彲浠ョ敤瀹忓畾涔夌殑鏂瑰紡瀹炵幇鐨勶紝鐒跺悗鍦ㄦ瘡涓枃浠朵腑浣跨敤#ifdef鍜#ifndef浠ュ強#endif~...
  • 扩展阅读:static关键字的5种用法 ... c语言static的用法 ... 简述static关键字 ... static关键字详解 ... static关键字说法正确 ... c语言status关键字 ... static关键字的作用c++ ... static关键字含义 ... static关键字的特点 ...

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