打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
extern和static声明外部变量
extern和static声明外部变量 2010-11-08 10:55:36

分类: C/C++

简单点说就是:
1.extern:
我在file1.c里面定义了一个变量A,要在file2.c里也调用这个变量A,咋办?在file2.c里面声明A为exturn int A类型即可。

//file1.c
#include <stdio.h>
int A;//在file1.c里定义了一个变量
int func1(){
...
}

//file2.c
extern A;//声明A为一个已经定义的外部变量
int func2(){
}


2.static:
我在file1.c里面定义了一个变量A,不希望别的文件(如:file2.c)调用,或者在file1.c的函数func1()里面定义了一个变量B,不希望别的函数来改变它的值,咋办?--------声明变量A为static类型即可。

//file1.c
static int A;//静态全局变量,作用域只限于在本文件中
int func(){
...
}

//file2.c
extern int A;//由于file1.c里面定义的A为static类型,因此即使在此声明A为extern外部变量,仍然不能享有此资源--file1.c里的A变量.
func2(){
...
}


3.关于声明和定义
声明:对有关标示符(变量,函数,结构体,共用体等)的属性进行说明.
定义:为变量和函数分配内存。
例子说明:

void main()
{
   extern A;//是声明,声明A为mian函数的外部变量,不是定义,不分配内存
...
}
int A;
//是定义,定义A为整形外部变量,为A分配内存

注意:用auto,register,static声明变量时,是在变量前面加上这些关键字,而不能单独使用。下面用法不对:

int a;//定义
static a;
//声明

//这样是不对的,编译时会被认为重定义。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
变量的声明与定义以及关键字extern的用法
存储类,动态内存
C语言中全局变量的定义与调用
c语言之函数参数传递之数组篇
浅谈C/C 中的static和extern关键字
在头文件中定义全局变量
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服