【C】static

张开发
2026/6/9 6:31:43 15 分钟阅读
【C】static
static1、修饰局部变量使其变为静态变量这个局部变量在函数执行完成后不会被释放而是继续保留在内存里。2、修饰全局变量使其只在本文件内部有效在其他文件不可用。3、修饰函数使函数只能在本文件中使用同时不会与其他文件的同名函数产生干扰。static变量存储在程序静态区中注意在h文件中定义变量往往是不允许经常会编译出错有以下两种情况:1、一个main.c文件调用a.h和b.ha.h中又调用b.h如果在b.h中定义一个变量则main.c编译报错重复定义通过h中的#ifndef这种宏定义即可解决。因为所谓h文件就是在编译时展开在c文件中而已。2、如果1.c和2.c都只调用b.hb.h中定义一个变量则在c文件编译时不出错但是在链接成可执行文件时会报错。可以通过再b.h中定义的变量前加static解决。加static等同于在1.c和2.c中定义了一个同名的static变量所以不报错。以上说明在h文件里时极不建议定义变量的和goto一样。

更多文章