C++高手请进: 我想问问 动态数组是怎么用的 ? 我都根本不会用,书上的介绍很少?求一个很简单按的例子

2025-01-06 04:59:42
推荐回答(4个)
回答1:

动态一维数组
例如:
int *x = new int[10]
建立了一个大小为10的数组

动态二维数组
//创建行指针
x = new int* [8];
//为每一行分配空间
for (int i =0;i<8;i++)
x[i] = new int[8];
创建了一个8*8的二维数组

一维数组的例子 :数组为0 1 2 3 4 5 6 7 8 9
int *x = new int[10]
for(int i=0;1<10;i++)
x[i] = i;

二维数组的例子:
0 1 2 3 4 5 6 7 8
9 10 。。。。。。。

//创建行指针
x = new int* [8];
//为每一行分配空间
for (int i =0;i<8;i++)
x[i] = new int[8];
//为数组输入数据
int count = 0;
for(int m = 0;m<8;m++)
for(int n = 0;n<8;n++)
{
x[m][n] = count;
count++;
}

不知道你是我写的这个意思不 要是不对的话 你可以再问我

回答2:

动态顺序存储其实就是用数组来存储,数组一个节点有两个域,数据域和标识域,标识域标识它指向的下一个节点

回答3:

你好!!!
可以的:用动态分配空间。
举例子:
#include
#include
void main()
{
int k;
printf("输入数组的个数\n");
scanf("%d",&k);
int *a=(int *)malloc(sizeof(int )*k);
printf("输入数组的元素:\n");

int i;
for(i=0;i scanf("%d",&a[i]);
printf("输出数组的元素:\n");
for(i=0;i printf("%d ",a[i]);

printf("\n");
}
测试:

输入数组的个数
5
输入数组的元素:
1 2 3 4 5
输出数组的元素:
1 2 3 4 5
Press any key to continue
希望对你有帮助

回答4:

C++ 中就用new和delete呗,
对应C语言中的malloc和free
#include
using namespace std;

int main()
{
int * arr; //一个int指针
int i;
arr=new int[10]; //创建10个int型的数组,让int指针指向新创建的空间
for(i=0;i<10;i++)
arr=i;
for(i=0;i<10;i++)
cout<cout<delete [] arr; //撤销
return 0;
}
就这样啦