1 // 17-指针和数组.cpp: 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include <iostream> 6 #include <climits> 7 8 using namespace std; 9 10 int main() 11 { 12 int a[]{345,65,23,7,2,856,23,83,176}; 13 cout << a << endl;//输出数组的时候也输出一串地址,输出的地址是数组的第一个元素的地址。在C++中数组也是指针。 14 //如果数组a是指针,那么可以同个*a查看指针的值,应该就是345。 15 cout << *a << endl; 16 //当指针是数组的时候,可以加减法运算的,+1就指向数组中的下一个元素。 17 cout << *(a + 1) << endl;//输出的值为65 18 19 *(a + 1) = 1000; //a+1指的是a数组的第二位,将a数组的第二位的值修改为1000。 20 cout << a[1] << endl; 21 22 //所以数组的访问不止可以通过数组名加编号,还可以通过指针的方式访问和设置数组中的值。 23 24 //使用new创建数组。 25 int* p = new int[20]; //主动申请的内存都要delete 26 p[0] = 90; 27 cout << p[0] << endl; 28 29 *(p + 2) = 80;//通过指针修改值。 30 cout << p[2] << endl; 31 32 delete[] p; //如果申请的是数组,就得用delete[]删除数组p 33 34 //推荐还是用正常的方式创建数组,指针慎用! 35 36 int t; 37 cin >> t; 38 return 0; 39 }