C++の関数プロトタイプ宣言の変数は、グローバルスコープと見なされますか?関数プロトタイプ変数スコープC++
など。以下のスクリプトでは、配列integerArray
と整数maxNumElements
を入力とし、ユーザーが提供した要素の数を返す関数プロトタイプreadArray
を宣言します。もちろん、readArray
関数はmainから呼び出されます。私の質問は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;
}
各関数は、変数の独自の*ローカル*コピー*を持ちます。 –
生の配列を混乱させないでください。私たちはすでに 'sdt :: array'と' std :: vector'の実装をC++スタンダードに持っています。 –
おそらく本当の質問ではありません。あなたはそれを行い、何が起こるか見ることができます。これは、簡単にテストできるようにするために行うべきことです。 –