السلام عليكم
الان انا حائراً تماما امام لغة java :wacko:
ببساطه ، انا اريد ارسال المصفوفة a كمؤشر الى الدالة foo ، ثم التعديل على المصفوفة a (مثلا قمت باسناد مصفوفة جديدة على المصفوفة a )
المشكلة: عند الرجوع الى دالة main كأن لم يحدث شيئا داخل دالة foo ! وكأني عملت call by value !
- public class test
- {
- {
- int a[][] = new int[2][2];
- a[0][0]=1;
- a[0][1]=2;
- a[1][0]=3;
- a[1][1]=4;
- printArray( a);
- foo( a );
- printArray( a);
- }
- {
- a = null;
- int b[][] = new int [2][2];
- b[0][0]=10;
- b[0][1]=10;
- b[1][0]=10;
- b[1][1]=10;
- a = b;
- }
- {
- {
- for ( int j=0 ;j <array[i].length; j++ )
- }
- }
- }
عندما يكون السؤال غير واضح، تخيل ان البرنامج مكتوب بلغة c/c++
لانه عندما يكون كذلك، فسوف يتغير عنوان المصفوفة a للابد والسبب هو call by reference
