[英]Can a variable in main function be access outside the main?
#include <stdio.h>
void foo();
int main()
{
int b = 0;
int a[6] = {1,2,3,4,5,6};
foo();
return 0;
}
void foo()
{
//write some code to print a and b
}
我的問題是:
如何從外部獲取局部變量而不傳遞任何參數?
那不可能 您需要傳遞一個指向它的指針,以從一個函數訪問它或使其成為全局的。
您可以創建兩個全局變量並將a和b的每個值存儲在其中。 在foo()
創建兩個變量a和b並存儲ga和gb的值
#include <stdio.h>
void foo();
int gb,ga[6];
int main()
{
int b = 0;
int a[6] = {1,2,3,4,5,6};
gb=b;
for (int x = 0 ; x<6 ; x++)
ga[x]=a[x];
foo();
return 0;
}
void foo()
{
int a=ga;
int b[6];
for (int x = 0 ; x<6 ; x++)
b[x]=gb[x];
//now you can use a and b here
}
聲明一個全局指針,並在main內,將局部變量的地址分配給該指針,並在任何地方使用它。
不,我們不能。 我們可以公開類甚至其他功能。 正如我們主要定義的那樣,我們不能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.