C++中的函數原型聲明中的變量被視爲全局範圍嗎?函數原型變量作用域C++
E.g.在下面的腳本中,我們聲明瞭一個函數原型readArray
,它將數組integerArray
和整數maxNumElements
作爲輸入並返回用戶提供的元素數。當然,從main調用readArray
函數。我的問題是,如果displayArray
可以通過提供用戶插入的最大元素數來打印在readArray
中編輯的數組。總之,全球是integerArray
和numElements
?
/* prototype declaration*/
int readArray (int integerArray [], int maxNumElements);
void displayArray(int integerArray[], int numElements);
int main()
{
int inputValues[128]; /*the array to be read*/
int numberOfValues = readArray(inputValues, 128);
displayArray(inputValues, numberOfValues);
return 0;
}
int readArray(int integerArray[], int maxNumElements)
{
int numberOfValues;
for (numberOfValues = 0; numberOfValues < maxNumElements; numberOfValues++)
{ /*take integers as input from user and insert into array */
/*return the number of elements the user as provided*/
}
return numberOfValues;
}
void displayArray(int integerArray[], int numElements)
{ /*print the array*/
for (int = 0; i < numElements; i++)
{
cout << i << ":" << integerArray[i] << endl;
}
cout << endl;
}
每個函數都有自己的私有和本地*副本*的變量。 –
不要亂用原始數組。我們已經在C++標準中有'sdt :: array'和'std :: vector'實現。 –
可能不是一個真正的問題。你可以做到這一點,看看會發生什麼。這是我們應該做的任何易於測試的行爲。 –