设为首页 加入收藏

TOP

C++中动态申请数组
2015-07-16 12:57:21 来源: 作者: 【 】 浏览:8
Tags:动态 申请

动态申请一维数组
申请使用new,释放使用delete[]
可以通过数组名[下标]和*(数组名+下标)的方式访问数组


int main()
{
? ? int number = 10;
? ? int *array = new int[number];
? ? //数组初始化
? ? for (int i = 0; i < number; ++i)
? ? {
? ? ? ? array[i] = i;
? ? }
? ? for (int i = 0; i < number; ++i)
? ? {
? ? ? ? cout << *(array + i) << " ";
? ? }
? ? cout << endl;
? ? //使用完以后记得释放哦
? ? delete[] array;
? ? return 0;
}


动态申请二维数组
二维数组的申请需要循环地申请二维数组的行指针。


int main()
{
? ? int row = 10;
? ? int column = 10;
? ? //申请空间
? ? int **matrix = new int*[row];
? ? for (int i = 0; i < row; ++i)
? ? {
? ? ? ? matrix[i] = new int[column];?
? ? }
? ? //矩阵初始化
? ? for (int i = 0; i < row; ++i)
? ? {
? ? ? ? for (int j = 0; j < column; ++j)
? ? ? ? {
? ? ? ? ? ? matrix[i][j] = i * 10 + j;
? ? ? ? }
? ? }
? ? //矩阵输出
? ? for (int i = 0; i < row; ++i)
? ? {
? ? ? ? for (int j = 0; j < column; ++j)
? ? ? ? {
? ? ? ? ? ? if (i == 0) cout << '0';
? ? ? ? ? ? cout << matrix[i][j] << ' ';
? ? ? ? }
? ? ? ? cout << '\n';
? ? }
? ? cout << endl;
? ? //使用完以后记得释放哦
? ? for (int i = 0; i < row; ++i)
? ? {
? ? ? ? delete[] matrix[i];
? ? }
? ? delete[] matrix;
? ? return 0;
}


输出结果:


动态二维数组申请


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java: 使用信号量(Semaphore)保护.. 下一篇如何改善Java中锁的性能

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: