Массивтердің инициализациясы. Массивтерді сипаттауда олардың иницализациясы мүмкін, яғни, бастапқы мәндерді олардың элементтеріне меншіктеу. Маңызы бойынша (анығығырақ, нәтижесі бойынша), инициализация – бұл обьектіні оған нқты бір мәнді меншіктеу арқылы сипаттау. Инициализацияны қолдану массивті сипатау форматын өзгертуге мүмкіндік береді. Мысалы, бір өлшемді массив элементінің анық санын сипаттамай қоюға болады, тек инициализация тізімінде олардың бастапқы мәнін көрсету:
double d[ ]={1.0, 2.0, 3.0, 4.0, 5.0};
Бергілген мысалда массивтің ұзындығын компилятор фигуралық жақшалардың ішіндегі бастапқы мәндер саны бойынша есептейді. Осындай сипаттаудан кейін элемент d[0] тең 1.0, d[l] тең 2.0 және т.с.с d[4] тең 5.0.
Егер массивтің сипатталуындаоның өлшемі көрсетілмеген болса,онда бастапқы мәндрдің саны массив элементінің санынан көп болмайды. Егер бастапқы мәндердің саны массив элементінің санынан аз болса, онда ол мәндер массивтің алғашқы элементтеріне ғана меншіктеледі:
int М[8]={8,4,2};
Берілген мысалда келесі айнымалылардың мәні ғана анықталған: М[0], М[1] және М[2], олар сәйкесінше 8, 4 және 2 –ге тең. М[3],..., М[7] элементтері инициализацияланбаған.
Көп өлшемді массивтерді инициялизациялау ережесі бір өлшемді массивті сипаттаған сияқты, көп өлшемді массивті сипаттаумен сәйкес келеді. Бір өлшемді массивтер фигуралық жақшаға алынған бастапқы мәндері тізімі арқылы инициализацияланады. Егер бастапқы мән өз кезегінде массивке қатысты болса және фигуралық жақшаға алынған бастапқы мәндерден тұрса. Мысалы, Екі жол және үш қатардан тұратын екі өлшемді А массивінің элементтеріне нақты бастапқы мән меншіктеу келесідей болады:
double A[3][2]={{10,20}, {30,40}, {50,60}};
Бұл жазу келесі меншіктеу операторының кезектілігіне эквивалентті: А[0][0]=10; А[0][1]=20; А[1][0]=30; А[1][1]=40; А[2][0]=50; А[2][1]=60; Осы тізімді келесі инициализациялау тізімі арқылы да алуға болады:
double A[3][2]={10,20,ЭО,40,50,60};
Инициализацияның көмегімен көп өлшемді массивтің барлық элементтеріне мән меншіктемеуге болады. Мысалы, матрицаның тек бірінші бағанына ғана мән меншіктеу келесідей болады:
double Z[4][6]={{1}, {2}, {3}, {4}};
Келесі жазылым 5 жол және 4 бағаннан тұратын бүтін санды массивте "үшбұрышты" матрицада түрлендіреді:
int х[5][4]={{1}, {2,3}, {4,5,6}, {7,8,9,10}};
Бұл мысалда ақырғы бесінші жол х[4] толтырылмаған, ал бастапқы үш жол толықтай толтырылмаған болып қалады.
Достарыңызбен бөлісу: |