static int b = 0; // 定义一个static类型的全局变量b,初始值为0 void func(){static int c = 0; // 定义一个static类型的局部变量c,初始值为0 printf("b = %d, c = %d\n", b, c); // 打印b和c的值 b++; // b的值加1 c++; // c的值加1 }int main(){func(); // 调用func...
(void)msg(); return 0; } 程序的运行结果是: A Hello 你可能会问:为什么在 a.c 中定义的全局变量 a 和函数 msg 能在 main.c 中使用?前面说过,所有未加 static 前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问。此例中,a 是全局变量,msg 是函数,并且都没有加 static 前缀,因此对于另外...
#include<stdio.h>#include<string.h>constintMAX_NAME_SIZE=30;classStudent{public:Student(char*pszName);~Student();public:staticvoidPrintfAllStudents();private:char m_name[MAX_NAME_SIZE];Student*next;Student*prev;staticStudent*m_head;};Student::Student(char*pszName){strcpy(this->m_name,psz...
static: 1、在函数内部,表示该变量的值在各个调用间一直保持延续性; 2、在函数这一级,表示该函数只对本文件可见。 extern: 1、用于函数定义,表示全局可见(属于冗余的); 2、用于变量,表示它在其他地方定义。 void: 1、作为函数的返回类型,表示不返回任何值; 2、在指针声明中,表示通用指针的类型; 3、位于参数...
初识C语言——关键字static的作用 3. 修饰函数-称为静态函数 (1).static修饰局部变量 下面我们通过两段代码来理解static修饰局部变量的意义。 代码语言:javascript 代码运行次数:0 AI代码解释 //代码1#include<stdio.h>voidtest(){int i=0;i++;printf("%d ",i);}intmain(){int i=0;for(i=0;i<10;...
3 void func(); 4 5 int main(int argc, char **argv) 6 { 7 8 func(); 9 10 return 0; 11 } b.c 1 #include <stdio.h> 2 3 int b = 10; 4 5 6 static void func() 7 { 8 printf("in func b =%d\n",b); 9 } 编译 由编译结果可知,a文件访问不到b文件中的静...
classPoint{public:voidinit(){}staticvoidoutput(){}};voidmain(){Pointpt;pt.init();pt.output();} 编译通过。 结论2:类的对象可以使用静态成员函数和非静态成员函数。 在类的静态成员函数中使用类的非静态成员。 #include<stdio.h>classPoint{public:voidinit(){}staticvoidoutput(){printf("%d\n",m_...
void fun(int x){static int a = 10;static int b = x;a++;b++;} 修饰全局变量 全局变量定义在函数体外部,在全局数据区分配存储空间,且编译器会自动对其初始化。 普通全局变量对整个工程可见,其他文件可以使用extern外部声明后直接使用。也就是说其他文件不能再定义一个与其相同名字的变量了(否则编译器会认...
static在C语言中的作用 const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰 的对象为常量(immutable)。 我们来分情况看语法上它该如何被使用。 1、函数体内修饰局部变量。 例: void func(){ const int a=0; } 首先,我们先把const这个单词忽略不看,那么a是一个int类型的局部自动...
static int n; /*定义静态全局变量n*/ void f(int x) { n=n*x; printf("%d\n",n); } 创建名为 2.c 的文件: #include<stdio.h> int n; /*定义全局变量*/ void f(int); int main() { n=100; printf("%d\n",n); f(5); } #include<stdio.h> int n; /*定义全局变量*/ void...