主函数外部定义了一个全局或静态存储期的整数数组 int myArray[5];,那么数组的元素将被初始化为零。
int arr[5];
int main() {
int length = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < length; ++i) {
cout << arr[i] << endl;
}
return 0;
}
如果你在 main 函数内部定义这个数组,元素的初始值将是不确定的,可能是随机值。
int main() {
int arr[5];//内部定义,值是随机的,最好初始化
int length = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < length; ++i) {
cout << arr[i] << endl;
}
return 0;
}
C/C++中一个函数接受一个数组作为参数,那么数组将会退化为指针,所以不能在 printArray 中使用 sizeof 。参考指针部分知识点。
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
// 对数组元素进行操作
cout << arr[i] << " ";
}
}
int main() {
int myArray[] = {1, 2, 3, 4, 5};
int size = sizeof(myArray) / sizeof(myArray[0]);
printArray(myArray, size);
return 0;
}