定义数组应该注意的问题 关于数组的问题
各位老铁们,大家好,今天由我来为大家分享定义数组应该注意的问题,以及关于数组的问题的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
关于C语言中数组定义问题
主函数内定义的数组在堆栈段中分配内存。
全局变量数组在数据段中分配内存。
一般数据段比堆栈段大很多,
所以堆栈段分配不了的内存,数据段可以分配
(1)在堆栈段中分配内存,由于太大无法分配,所以错误。
(2)在数据段中分配内存,数据段可以分配,无错误。
(3)数组比(1)需要的内存少,在堆栈段大小范围内,可以分配,无错误
(4)同(3)
C语言中如何定义数组
C语言中,同变量一样;数组也必须先定义后使用。
一维数组的定义形式:
类型标识符数组名[常量表达式];例如int a[10];其中a为地址常量。
如变量的定义一样,int a;double a;float a等;数组的定义只是把后面的变量名改为数组名而已。
int a[10]就是定义了一个数组名为a的数组;此数组有10个元素。其中各元素从a[0]到a[9];并没有a[10]元素。下面列举一个。
扩展资料常量表达式可以包括字面常量和符号常量;但不能包含变量。例如对下面定义是错误的
int n=5
int a[n]
可以修改为
#define N 5
int a[N]
其中对二维及多位数组定义可以类推
int a[x][y][z][...]其中 x,y,z为数字。
参考资料百度百科-C语言
Java定义一个数组的问题。
其实称之为数组不太准确,我觉得叫做test类型的一个集合更好,这个集合中有5个对象分别是group[0]到group[4];这个test有2个属性:String类型A和double类型B;如果定义了属性,一般会在后面追加get()和set()方法,get方法对属性进行读取,set方法写入的操作。这样你就方便在main方法中操作了。
public class test{
private String A;
private double B;
public String getA(){
return A;
}
//用参数a写入test中的属性A
public void setA(String a){
A= a;
}
public double getB(){
return B;
}
public void setB(double b){
B= b;
}
public static void main(String[] args){
test []group= new test[5];
//for循环分别对每个对象的A,B属性进行写入
for(int i=0;i<group.length;i++){
group[i]=new test();
group[i].setA("A"+i);
group[i].setB(i);
}
//for each循环输出这个group中各个对象的属性
for(test i:group){
System.out.println(i.getA()+":"+i.getB());
}
}
希望对你的理解有所帮助~
好了,文章到此结束,希望可以帮助到大家。