仅使用 extern 关键字与C中的变量有什么关系?
仅用于在没有定义的情况下声明变量(例如.int)吗?
或者是为了让int在全球范围内出现?
"此外,由于 extern 将可见性扩展到整个程序,因此 外部变量我们可以在程序中的任何地方使用变量 只要我们知道它们的声明并且定义了变量 某处"
但如果我在预处理器声明之后放置任何变量,它也将全局可用! 那么将 extern 与变量一起使用是什么意思?
仅用于在未定义的情况下声明变量?
答案 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