Werden Variablen in der Funktionsprototypdeklaration in C++ als global betrachtet?Funktionsprototyp Variablenbereich C++
z. Im folgenden Skript deklarieren wir einen Funktionsprototyp von readArray
, der ein Array integerArray
und eine Ganzzahl maxNumElements
als Eingabe akzeptiert und die Anzahl der vom Benutzer bereitgestellten Elemente zurückgibt. Natürlich wird die readArray
Funktion von main aufgerufen. Meine Frage ist, ob displayArray
das in readArray
bearbeitete Array drucken kann, indem die maximale Anzahl von Elementen, die der Benutzer eingefügt hat, bereitgestellt wird. Kurz gesagt, sind integerArray
und numElements
global?
/* 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;
}
Jede Funktion hat ihre eigene private und lokale * Kopie * der Variablen. –
Machen Sie sich nicht mit rohen Arrays herum. Wir haben bereits 'sdt :: array'und' std :: vector' Implementierungen in den C++ - Standards. –
Möglicherweise keine echte Frage. Sie können es tun und sehen, was passiert. Das sollten wir für jedes einfach zu testende Verhalten tun. –