c语言 动态数组
发布网友
发布时间:2022-04-20 08:23
我来回答
共5个回答
热心网友
时间:2023-07-28 11:30
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num,*p=0,i;
printf("输入数组元素个数:");
/*输入数组元素个数,保存到变量num中*/
scanf("%d",&num);
/*动态分配数组存储空间*/
p = (int *)malloc(sizeof(int)*num);
/*输入数据*/
for(i=0;i<num;i++)
{
scanf("%d",&p[i]);
}
/*输出数据*/
for(i=0;i<num;i++)
{
printf("%d ",p[i]);
}
/*删除动态创建的数组*/
free(p);
return 0;
}
热心网友
时间:2023-07-28 11:30
C语言没有动态数组的概念,所谓动态数组,就是在使用过程中,大小可以任意改变的数组,但是C语言中的数组,只要一旦声明就无法再更改大小,所以一般都会把数组大小设置的比较大一点,但是这样会造成资源浪费,变量又不能作为数组的下标,为了应对这种问题,需要指针的帮忙.指针可以用变量作为参数,申请一段固定大小的内存空间, 格式为: int *p; p=(int *)malloc(变量*sizeof(int));
这时 p指针的作用就相当于 数组名(其实数组名也就是一个指针).希望可以帮到你
热心网友
时间:2023-07-28 11:31
/*输入数组元素个数,保存到变量num中*/
scanf("%d", &num);
/*动态分配数组存储空间*/
p = (int *)malloc(num * sizeof(int));
/*输入数据*/
printf("请输入%d个整数:", num);
for(i = 0; i < num; i++)
{
printf("%d个:", i + 1);
scanf("%d", p + i);
}
/*输出数据*/
printf("输入的数组是:");
for(i = 0; i < num; i++)
printf("%3d", *(p + i));
/*删除动态创建的数组*/
free(p);
热心网友
时间:2023-07-28 11:31
加上头文件iostream.h后用下面的。
cin>>num;
int *pp = new int[num];
for(int i=0; i < num; i++)
{
cout<<"input number,第"<<i<<"个数";
cin>>pp[i];
}
for(int i=0; i < num; i++)
{
cout<<"第"<<i<<"个数"<<"为:"<<pp[i]<<endl;
}
delete pp;
热心网友
时间:2023-07-28 11:32
建议你问你们家计算机老师吧。