错误方法
const char* array[] = {"This", "is", "an", "array"};
char** address = array;
for (int i = 0; address && address[i]; i++)
{
cout << address[i] << endl;
}
运行结果
跟踪 for 循环中的 i 变量可以发现 i 实际上已经超过了数组中的元素个数,造成了访问越界
正确方法
const char* array[] = {"This", "is", "an", "array"};
for (int i = 0; i < sizeof(array) / sizeof(char*); i++)
{
cout << array[i] << endl;
}