static编程基础知识,坐高铁回家的视频拍摄技巧

关于static编程基础知识

在编程中,我们经常会遇到static这个关键字。它可以用于变量、函数、类等。下面我们来探讨一下它的基础知识。

1.变量的static

在函数内部定义的变量是局部变量,作用域仅限于该函数内部。但当局部变量前加上static关键字时,该变量变成了静态局部变量。静态局部变量的生命周期会延长到整个程序运行的过程中,并且初始值为0。而一般的局部变量是会在函数结束后自动销毁的。

例如:

void func()

{

int i = 0; // 普通局部变量

static int j = 0; // 静态局部变量

i++;

j++;

printf("i = %d, j = %d\n", i, j);

return;

}

int main()

{

func();

func();

func();

return 0;

}

程序输出:

i = 1, j = 1

i = 1, j = 2

i = 1, j = 3

可以看到,每一次调用func函数时,i都被初始化为0,而j的值则是在之前的基础上累加的。

2.函数的static

在函数内部可以定义一个static函数,与普通函数不同的是,static函数只能被本文件内的其他函数所调用,对于其他文件而言是“隐藏”的。如果想要将一个函数定义为仅当前文件可使用,可以使用static关键字修饰。

例如:

static int func(int a, int b)

{

return a + b;

}

int main()

{

int sum = func(3, 5); // 这里可以调用func函数

return 0;

}

3.类的static

在类中定义一个static成员变量时,该变量属于整个类而不是某个对象,即使没有实例化对象也可以访问该变量。同时,为了方便访问,static成员变量必须在类外进行初始化。而且,也可以在类中定义static成员函数。

例如:

class MyStaticClass {

public:

static int num;

static void print() {

printf("num = %d\n", num);

}

};

int MyStaticClass::num = 3;

int main()

{

MyStaticClass::print(); // 输出“num = 3”

return 0;

}

本例中,num是一个类的静态成员变量,可以被类的任何实例化对象所使用,而print是一个静态成员函数,在不实例化类对象的情况下也可以直接调用。

总结

以上就是关于static的基础知识了。使用到静态变量、静态函数和静态成员变量,可以在编程中更加灵活地运用各种方法实现需求。

如果你喜欢我们阿吉时码(www.ajishima.com.cn)的文章, 欢迎您分享或收藏分享网文章 欢迎您到我们的网站逛逛喔!SLG资源分享网
友情提示:抵制不良游戏,拒绝盗版游戏。 注意自我保护,谨防受骗上当。 适度游戏益脑,沉迷游戏伤身。 合理安排时间,享受健康生活。适龄提示:适合18岁以上使用!
点赞(25) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部