动态分配数组及字符串

一、动态分配数组

使用动态内存,可以轻而易举地解决这样的问题:在程序运行时产生任意大小的“数组” 。

动态分配一维或多维数组的方法是由指针管理数组,二维以上数组按一维数组方式来处理,具体步骤为:

①定义指针p;

②分配数组空间,用来存储数组元素,空间大小按元素个数计算;

③按一维数组方式使用这个数组(例如输入、输出等);

若是一维数组,则元素为p[i];若是二维数组,则元素为p[i*M+j], 其中M为列元素个数,以此类推。

④释放数组空间;

如:计算N*N二维数组的元素平均值

 #include <iostream>
 using namespace std;
 double AVE(double *A,int N) //计算N*N二维数组元素的平均值
 { 
 int i,j,sum=0;
 for(i=0;i<N;i++)
 for(j=0;j<N;j++) sum=sum+*(A+i*N+j);
 return sum/(N*N);
 }
 int main()
 { 
 int i,j,n=4; cin>>n;
 double *A=new double[n*n]; //分配“数组”A[n][n]
 for (i=0;i<n;i++)
 for (j=0;j<n;j++) cin>>*(A+i*n+j); //输入数据到A[i][j]
 cout<<"detA="<<AVE(A,n)<<endl;
 delete [] A; //释放“数组”
 return 0;
 } 

二、动态分配字符串

实际编程中,字符串类型表示文字信息数据,其特点是字符长度不固定。通过动态分配字符串,根据程序的需要确定字符串的实际长度。 动态分配字符串的方法是由字符指针管理字符串,具体步骤为:

①定义字符指针;

②分配字符串空间,用来存储字符串;

③使用这个字符串(例如输入、输出等);

④释放字符串空间;

char *p=new char[1000]; //分配字符串空间
cin>>p; //输入字符串
cout<<p; //输出字符串
delete [] p; //释放字符串空间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木木(。・ω・。)ノ♡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值