|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Понятие массива, описание массива, размерность массива, размещение в памятиМассив – конечная именованная последовательность элементов одного типа.
26. Описание массива имеет вид: <тип> <имя_массива>[<констное_выражение>]; Каждый эл-т массива имеет индекс от 0 до кол-ва эл-тов -1. Например: int Mas1[4]; или const int k=4; int Mas[k]; Массив может быть инициализирован сразу же при описании: int Mas2[3]={1,2,3}; char guf[3}={'R','I','P'}; int mas3[7]={1,2,3}; В последнем случае, когда указаны не все элементы, оставшиеся заполняются нулями. Инициализация слишком большого числа элементов (больше размера массива) приводит к ошибке: int buf1[5]={1,2,3,4,5,6,7}; → error: too many initialized Если размер массива не задан, он определяется длиной списка: int buf2[]={1,2,3,4,5}; //размер массива 5. int mass[5]={1,2,3,4,5}; //mass[0]=1; mass[1]=2;... mass[5]=0 массивы ссылок использовать не разрешается, но массив указателей допустим: int ix, jx, kx; int &jar[]={ix, jx, kx}; // приводит к ошибке int *iar[]={&ix, &jx, &kx}; // правильно Имя массива по умолчанию считается указателем на первый элемент массива. arr ↔ & arr [ 0 ] arr [ i ] ↔ & (arr +i) int members = sizeof(arr) / sizeof(int); int a1[100], b1[100]; int * pa=a1; //& a1 [0] int * pb=b1; //& b1 [0] for (i=0; i<100; i++) {* pb ++ = * pa ++;} Массивы символов и литеральные строки. Каждый эл-т мас-а символов содержит 1 символ: Допустимой является запись: char say[]={‘h’,’e’,’l’,’l’,’o’}; //кол-во эл-тов определяется автоматически char say2[]="hello"; Последним эл-том строки есть числовой ноль, т.е. массив содержит на 1 эл-т больше чем символов. char say2[5]="hello"; //не поместится – ошибка но: char say[5]={'h','e','l','l','o'}; //-ок Если задать массив способом (*), то при работе с ним, как со строкой, обрабатываться будут символы до первого найденного числового нуля. В этом случае можно дополнить вручную: char say[]={'h','e','l','l','o', '0'};
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |