面试题答案
一键面试#include <iostream>
int main() {
// 定义指针数组,每个元素可以指向一个长度为10的整型数组
int (*ptrArray[5])[10];
// 对5个长度为10的整型数组进行初始化
for (int i = 0; i < 5; ++i) {
ptrArray[i] = new int[10];
for (int j = 0; j < 10; ++j) {
(*ptrArray[i])[j] = i * j;
}
}
// 打印出第二个数组的所有元素
std::cout << "第二个数组的元素为: ";
for (int j = 0; j < 10; ++j) {
std::cout << (*ptrArray[1])[j] << " ";
}
std::cout << std::endl;
// 释放动态分配的内存
for (int i = 0; i < 5; ++i) {
delete[] ptrArray[i];
}
return 0;
}
解释:
- 首先定义了一个指针数组
ptrArray
,它的每个元素是一个指针,指向长度为10的整型数组。 - 使用双层循环初始化5个长度为10的整型数组,外层循环控制数组指针,内层循环控制数组元素。
- 打印第二个数组(下标为1)的所有元素。
- 最后释放动态分配的内存,避免内存泄漏。