循环赋值数组在函数里为什么会出错?(javafor循环给数组赋值)

5769℃ 甘沛露

数组循环中为什么不能对数组元素赋值

在vb中,数组在内存中的结构分成两部分:一个连续的内存块,一个指向这个内存块开始地址的指针.给数组的元素赋值相当于向内存块中的某个位置写入内容,这是正常的.给数组赋值相当于改变了数组的指针,使数组不再指向那个连续的内存块,轻则导致数组数据丢失,重则导致出现“内存不能read”的错误,程序崩溃(违反win xp中的内存保护).

(javafor循环给数组赋值)循环赋值数组在函数里为什么会出错?

求助,c语言新手,我想给数组挨个赋值然后输出,为什么出错了?

uchar 你之前定义过吗?你这是对数组赋值,而数组的赋值只有二种方法,一种是初始化赋值,它可以对数组整体赋值,即,你可以用uchar frist[5]={xxxxx};第二种就是在程序执行中赋值,即,没有经过初始化赋值;那么此时对它的赋值只能是逐个赋值,而不能像初始化赋值那样对整体来赋值了.你先定义了数组uchar first [5];即没用有初始化赋值,所以是程序执行中的赋值,故只能逐个对它赋值了.即只能用first [0]=a,first [1]=b,这样来赋值了.明白了吧,呵呵.

数组名赋值给指针,为什么出错了?

两个错误,1:*p2可以指向一维数组名,但不能指向二维数组名,如果要指向二维数组名,要定义指向数组的指针,如int (*p2)[6].2:return p2会出问题,函数执行完毕后,二维数组的空间会被自动回收,不复存在了,返回的地址所指向的位置内容是未知的

C语言for语句中,赋值的位置不同为什么会出现错误?

第二种情况,C作为for循环的局部变量,for循环结束后C被释放了可以这么写int c;for(c=0;a/b!=0;c++)声明C不是for的局部变量而是Main函数的变量就OK了

java用for循环给数组赋值,我这么写的为什么不对?(在线等,谢谢!)

没有初始化对象,你只是初始化了一个为rect为对象的数组.rect[ ][ ] blocks=new rect[10][10]; //声明一个10x10的数组 try { for(int i=0;i{ for(int j=0;j{//给每个方块设定位置 blocks[ i ][ j ] = new ract(); //添加这一行 blocks[ i ][ j ].set(i*80 , j*80 , (i+1)*80 , (j+1)*80); } } } catch(exception no) { system.out.println(no); }添加我上边那一行应该就可以了

C#数组赋值怎么会出错啊?

c#中是不允许这样写的,可以这样写的:int[] a = { 0, 1, 2 }; int[] b = new int[] { 0, 1, 2 }; int[] c = new int[3] { 0, 1, 2 };

for循环内数组为什么不能加数据类型?

加了int,那一句就不是赋值语句而是数组声明语句了,而声明且同时初始化语句的=右边只能是常量,不能是变量,[]中也不能--那样.

C++对象创建问题!为什么用数组创建会出错!WHY?

static 必须定义VC++6.0可以在类内定义,最好是在类外定义!这说的什么话啊,毫无道理int Account::number=0; 其实这已经相当于重复定义了,再者说了,number是private,要是在外面可以这么直接访问的话,那private还有存在的意义吗,这个关键字去掉得了

我在for循环外面定义的数组,在循环里面赋的值,为什么在循环外面就用不了了

贴代码看看

C语言 请问这样做有错吗?给循环数组赋值设一个临界点

int sum=0;for(int i=0;1;i++){scanf("%d",&a[i]);if(a[i] == -1) break;sum++;}这样写使用break语句跳出数组,否则a[i]未赋值,直接判断永远不会等于-1.