@interface Person:NSObject
{
int age;
}
@end-(void)info{
int age = 0;
}@implementation Person
int age = 0;
-(void)info{
}
@end写在函数和大括号外部的变量,称为全部变量
作用域:从定义的那一行开始,一直到文件末尾
全局变量可以先定义再初始化,也可以定义的同时初始化
存储:静态区,程序一启动就会分配存储空间,直到程序结束才会释放
全局变量分为两种:
static修饰全局变量,只在该源文件中可用
static int age =3;
@implementation Person
@endextern修饰全局变量,可以被其他类引用 .h头文件中声明
//.h文件中
extern int age;.m实现文件中赋值
//.m文件中
#import "Person.h"
int age = 10;
@implementation Person
@end extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或者函数时时,在其他模块中寻找其定义。另外,extern也可用来进行链接指定
注意:命名一定要很独特,才能区分与其他源文件中的全局变量,如果出现跟其他源文件同名的全局变量,则会报错误

image.png