//把一个数组拆成两个数组用,并填充随机数
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *mem=(int*)malloc(sizeof(int)*20);
int *a,*b;
//这句是关键,拆分
//a=&mem[0] , b=&mem[10];
a=mem,b=mem+10;
for(int i=0;i<20;i++){
mem[i]=rand()%100;
}
print(a,10);
print(b,10);
return 0;
}
void print(int* a,int n)
{
for(int i=0;i<n;i++){
printf("%2d ",a[i]);
}
printf("\n");
}
首先用malloc分配20个int的存储空间。然后进行拆分,有两种方式,其中第二种更简单。现在,有三个int*指针可用:mem,a,b。对mem进行初始化,就可以使用a,b了。注意要自行管理数组的长度,否则会越界。