【发布时间】:2012-12-05 11:46:15
【问题描述】:
我定义了 2 个变量,一个是指针,一个是数组
char* ptr;
char* array;
ptr = "12345";
array = new int[5];
for(int i = 0; i < 5; i++)
array[i] = i;
while(*ptr != 0)
cout << *ptr++ << endl;
//Get garbage values
for(int i = 0; i < 5; i++)
cout << ptr[i];
我想知道变量之间的主要区别是什么。 以及为什么当我尝试打印“ptr []”中的值时得到垃圾值 数组方式,但是在遍历 淡水河谷。我似乎无法理解我的变量“ptr”如何指向 5 字符,因为它应该只能指向一个。
【问题讨论】:
-
提示:
ptr++改变了ptr的值。你永远不会重置它。