什么是" extern"变量在C?

时间:2015-11-22 14:46:21

标签: c

仅使用 extern 关键字与C中的变量有什么关系?

仅用于在没有定义的情况下声明变量(例如.int)吗?

或者是为了让int在全球范围内出现?

I read here....

  

"此外,由于 extern 将可见性扩展到整个程序,因此   外部变量我们可以在程序中的任何地方使用变量   只要我们知道它们的声明并且定义了变量   某处"

但如果我在预处理器声明之后放置任何变量,它也将全局可用! 那么将 extern 与变量一起使用是什么意思?

仅用于在未定义的情况下声明变量?

1 个答案:

答案 0 :(得分:3)

如果要访问另一个源文件中定义的文件范围非静态变量,请使用Dim Pch1 As PivotCache, Pch2 As PivotCache With Windows("Forward Bookings") With .PivotCaches Set Pch1 = .Create(SourceType:=xlDatabase, _ SourceData:=Workbooks(libro1).Sheets("Input").Range("A1").CurrentRegion) Set Pch1 = .Create(SourceType:=xlDatabase, _ SourceData:=Workbooks(libro2).Sheets("Input").Range("A1").CurrentRegion) End With For Each hoja In .Worksheets For Each pt In hoja.PivotTables Select Case Right(pt.Name, 1) Case 1 'cambiar cache año anterior pt.ChangePivotCache (Pch1) Case 2 'cambiar cache año actual pt.ChangePivotCache (Pch2) End Select Next: Next: End With 。请记住,不允许在不同的源文件中多次定义文件范围的非静态变量(调用未定义的行为,但标准不需要诊断)。

例如,下面你想要访问file1.c中定义的file2.c中的对象extern

file1.c中

x

file2.c中

int x = 0;  // declare and define object x