如何定义未知大小的数组
发布网友
发布时间:2022-10-08 19:19
我来回答
共1个回答
热心网友
时间:2023-11-16 14:39
用动态内存申请
c语言:
#include<stdio.h>
#include "malloc.h"
void main()
{
int *a,n;
scanf(%d",&n"); if ( n<=0 || n>10240 ) exit(); //10240是随便写的一个*数组尺寸的数据
a=(int *)malloc(sizeof(int)*n);
......
free(a);
}
c++:
#include<stdio.h>
void main()
{ int *a,n;
cin>>n; if ( n<=0 || n>10240 ) exit();
a=(int *)new int[n];
......
delete [] a;
}
如何定义未知大小的数组
1、就语法而言,定义未知大小的数组,只能通过动态分配来实现。2、示例:定义一个未知长度的数组的方法:一是用VLA可变长数组,例如:int i = 10, j = 20;double a[i][j]; //定义VLA VLA要c99才开始支持,需要使用c99编译器,例如gcc 二是使用动态数组,例如:int m = 10, n = 20;...d...
如何定义未知大小的数组
方法一:……int n;cout<<"请输入你想建立的一维数组维数:"<<endl;cin>>n;int *array = new int[n];……delete [] array;方法二:现代c++程序一般用容器vector代替数组。vector<int> vec;添加值(比如1)用vec.pushback(1)
如何定义未知大小的数组
如果是一维数组,其实无需定义大小,因为一维数组本身是可以“延展”的。对于二维以上数组,除了第一维度之外都需要定义大小。所以面对事先无法确定大小的情况,一般是开一个足够大的数组,比如说录入一个班级学生的成绩,如果无法确定班级人数,就开一个比如int score【200】的数组,因为我们知道一个班级人...
Java中定义数组,如果定义时不知道长度,该怎么办?
可以,但是有可能会报数组下标越界的错误。建议先判断一下长度,再赋值。还有就是,为什么不用ArrayList呢。用add添加,就不会有越界危险了。如果你需要数组的话,toArray()转变成数组就可以了。长度未知就不能用数组了,用collection类list或者Vector,都可以实现二维数组的功能。貌似不行,java里面声明数...
如何定义未知大小的数组
可以使用动态数组。调用形式: (类型说明符*) malloc (size) 功能:在内存的动态存储区中分配一块长度为"size" 字节的连续区域。函数的返回值为该区域的首地址。 “类型说明符”表示把该区域用于何种数据类型。(类型说明符*)表示把返回值强制转换为该类型指针。“size”是一个无符号数。例如: pc=(...
C++如何定义一个未知长度的数组
数组定义必须明确数组长度,所以未知长度的数组是无法直接定义的。如果你的数组在运行过程中可以确定,比如你输入一个整数来确定数组长度,这样的话可以通过动态内存分配实现。比如:int a;cin>>a;int *b=new int[a];如果你的数组运行的时候都无法确定长度,比如你的数组可能会不断的添加新元素进去。这...
如何定义未知大小的数组
未定义的数组一般都需要分配动态内存。以c++为例。int a;cin>>a;int *p = new int[a] ;
c++,输入一个未知大小的数组怎么做??? 要求有回答范例。。。_百度知...
1.首先,定义一个常量大小来控制数组的大小。2.定义一个自定义函数度来输入二维数组中每个已知元素的值。3.使用双循环,输入二维数组的值,如下图所示。4.在主函数中,定义两个整数变量m和n,并保存数组的行和列。5.接下来,定义一个二维数组,如下图所示。6.输入数组的行数和列数,存储在...
怎么定义一个长度未知的数组
除常量数组外,数组必须是定长的,如果不知道长度,有几种办法,固定分配一个认为不会出现的维度值,或者对数组进行动态分配,如:int *pArray,nCount;int Insert(int * pArray,int nCount,int nElement){ int *pInt;pInt = new int[nCount+1];if(nCount>0)memcpy(pInt,nArray,nCount);pInt[...
怎样用c++声明一个二维数组是未知大小?
c/c++无法声明一个不定大小的二维数组,不过可以用二级指针来模拟(我想你清楚数组和指针的区别吧)\r\nint **A; //声明二级指针A,指向一个指针数组(切记不是指向一个二维数组)\r\n \r\ncin >> M >> N; //输入两个维度\r\nA = new int *[M]; //开辟指针数组\r\nfor(...