C动态数组创建(一维)以及和普通数组的区别

    //动态创建数组
	int length;
	cout << "请输入数组长度\n";
	cin >> length;
	int* p = (int*)malloc(length*sizeof(int));
	for (int i=0;i

运行结果:

C动态数组创建(一维)以及和普通数组的区别_第1张图片

以上代码动态创建了一维数组p和普通数组z。在这里p是一个指针变量,值为malloc()返回的地址,也就是申请的length*sizeof(int)内存空间的首地址(指针变量的值就是指针),所以p != &p,*p(指向内存空间处的值)=p[0],因为p[0]的首地址就是数组p的首地址(int占四个字节)。a就是一个指针,指向数组创建时申请的内存空间的首地址,所以z=&z,*z=z[0]。

你可能感兴趣的:(C动态数组创建(一维)以及和普通数组的区别)