您的位置:首页 > 编程语言 > C语言/C++

指针与数组

2016-07-21 22:27 274 查看
/*
* pointArray.cpp
*
*  Created on: 2016年7月21日
*      Author: zroad
*/
#include<iostream>
#include<string>
using namespace std;

//数组初始化1
string b[4] = {"a", "b", "c", "d"};

//数组初始化2
/*
* 未初始化数据规则:
1、在函数体外定义的内置数组,其元素均初始化为 0;
2、在函数体内定义的内置数组,其元素无初始化;
3、不管数组在哪里定义,如果其元素为类类型,则自动调用该类的默认构造函数进行初始化;
4、如果该类没有默认构造函数,则必须为该数组的元素提供显式初始化
*/
double c[4];

void pointArray() {
//数组与指针:数组a是一个指针,且为常量,a的值为数组第一个元素的地址
//a不可以做重新赋值等操作
int a[5] = {100,1,2,3,4};
cout << "a=" << a << endl;
cout << "*a=" << *a << endl;
cout << a[0] << endl;
cout << a[1] << endl;
cout << a[2] << endl;
cout << a[3] << endl;
cout << a[4] << endl;
cout << "++++++++++++++++++++++++" << endl;

//通过指针访问数组元素
//a+i表示a的下i个元素的地址
for(int i = 0; i < 5;i++) {
cout << "a[" << i << "]=" << *(a+i) << endl;
}

cout << "==========================" << endl;
//定义动态数组
int n = 20;
int *p = new int
;
for(int i = 0; i < n;i++) {
*(p+i) = i+n;
cout << "*(p+" << i << ")=" << *(p+i) << endl;
}

//通过new关键字定义的动态数组,最后必须使用delete关键字释放内存
delete [] p;
}

int main() {
pointArray();
for (int j = 0; j < 4; j++)
cout << b[j] << endl;
cout << "-------------------------" << endl;

for (int k = 0; k <4; k++)
cout << c[k] << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ 指针 数组