ПредишенСледващото

Променлива дължина масиви

В S89 измерение трябва да декларира масиви използвайки изрази на целочислени константи, размер на масива се определя по време на компилация. Поради определени обстоятелства, в C99, това правило е променено. В C99 може да обяви масив, чиито размери са определени от валидни целочислени изрази, включително онези, чиито стойности са известни само по време на изпълнение. Такъв набор се нарича променлива дължина масив (променлива дължина масив, VLA). Въпреки това, тези масиви могат да бъдат само местни масиви (т.е. тези, с обхват - прототип или блок). Ето един пример на масива с променлива дължина:

В този случай, размерът на матрица се определя от стойностите, приети от F функция () и променливите dim1 dim2. По този начин, в резултат на всяко повикване е () може да се превърне матрица масив с различни размери.

Можете да определите масив от неуточнен размер променлива дължина, като се използват както от размера на една звезда *.

Появата на масиви с различна дължина, причинени малка промяна в sizeof на оператора. Най-общо казано, sizeof - оператор, който се оценява по време на компилация. Това означава, че по време на компилация, той обикновено се превръща в постоянно число, чиято стойност е равна на размера или вида на обекта. Въпреки това, ако sizeof прилага за масив с променлива дължина, а след това стойността му, той получава само по време на изпълнение. Тази промяна е необходимо, тъй като размерът на масива с променлива дължина не може да се знае, докато по време на работа.

Една от основните причини за появата на масиви с различна дължина е желанието за опростяване на програмирането на числени методи. Разбира се, този инструмент се използва доста широко. Но не забравяйте - с променлива дължина масиви не се поддържат от стандартната S89 (на езика C ++).

Тук е оправдано ул да покаже началото на Чар масив. където има най-малко 80 елементи.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!