JAVA里面关于数组分配内存的一个问题
由于我是c/c++转来学JAVA的,因此对JAVA当中的内存机制有点疑问。在c++当中运用子函数对指向空地址的指针进行内存分配需要特殊的打理(指针的指针),因此我在JAV...
由于我是c/c++转来学JAVA的,因此对JAVA当中的内存机制有点疑问。在c++当中运用子函数对指向空地址的指针进行内存分配需要特殊的打理(指针的指针),因此我在JAVA当中试一试JAVA行不行,发现JAVA也不行,可以通过编译但是出现了以下的错误:
Exception in thread "main" java.lang.NullPointerException
at no_2.main(no_2.java:13)
下面附上我的程序代码,很简单的:
class nothing{
static void malloc(int []a){
a = new int[10];
for(int x: a)
x=1;
}
}
class no_2{
public static void main(String[] args){
System.out.println("Hello! this is a program to test malloc memory in a function");
int []a = null;
nothing.malloc(a);
for(int x:a)
System.out.println("the value is " + x );
}
敢问JAVA是怎么做这件事的呢? 展开
Exception in thread "main" java.lang.NullPointerException
at no_2.main(no_2.java:13)
下面附上我的程序代码,很简单的:
class nothing{
static void malloc(int []a){
a = new int[10];
for(int x: a)
x=1;
}
}
class no_2{
public static void main(String[] args){
System.out.println("Hello! this is a program to test malloc memory in a function");
int []a = null;
nothing.malloc(a);
for(int x:a)
System.out.println("the value is " + x );
}
敢问JAVA是怎么做这件事的呢? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询