Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Символьні рядки С++. Масиви символьних рядків і їх ініціалізація. Передача символьних рядків у функцію. Безрозмірні масиви




Одно-, дво- і багатовимірні масиви С++. Вказівник на масив. Передача масиву у функцію. Адресна арифметика. Ініціалізація масиву. Безрозмірні масиви.

Одновимірні масиви

У разі повної ініціалізації вказується повний список значень у фігурних дужках.

int A [4] = {1, 4, 2, 6};

Розміри масивів при повній ініціалізації можна не вказувати. Компілятор сам для себе визначить ці розміри і виділить відповідну пам'ять.

Двовимірні масиви

У разі повної ініціалізації вказується повний список значень у фігурних дужках. Кожен рядок ініціалізується в своїх фігурних дужках.

int A [3] [4] = {{1, 4, 2, 6},

{11, 1 4, 1 2, 1 6},

{1, 4, 2, 6}

};

Перший розмір масиву, тобто кількість рядків, при повній ініціалізації можна не вказувати.

 

Вказівником називається змінна, оголошена наступним чином

type * імя_указателя;

Визначення. Типом покажчика називається type *.

Передача одновимірних масивів у функцію

При передачі у функцію одновимірного масиву в списку фактичних аргументів указуються ім'я масиву та розмір масиву. В імені масиву немає інформації про розмір масиву. Компілятор на ім'я масиву може визначити тільки тип елементів масиву і адресу початкового елемента масиву.

У списку формальних аргументів вказуються тільки типи. Додавати розмір масиву марно.

Масиви передаються у функцію за адресою. Це означає, що функція працює з оригіналом масиву і може змінювати його елементи. Це твердження використовується для повернення масивів з функції. За допомогою оператора return масив повернути не можна.

Приклади прототипів

1. int max (int * A, int Dim);

Можна також писати

int max (int A [], int Dim);

Передача двовимірних масивів у функцію

У разі двовимірних масивів потрібно точно дотримуватися збіг типів фактичних і формальних параметрів функції.

Приклади.

1. Функція знаходить максимальний елемент у масиві

int max (int A [] [100], int KolStroc, int KolStolb);

Дана функція може викликатися тільки для масивів, у яких другий розмір 100. В іншому випадку, буде помилка компіляції.

Наприклад, можна викликати цю функцію для частково ініціалізованої масиву

int A [] [100] = {{1,3,5}, {15,2,3}};

int res = max (A, 2, 3);

 

Символьний рядок у С++ являє собою масив елементів типу char, який закінчується символом ‘\0’ (NULL). Масиви символів оголошуються так:

char назва_рядка[довжина_рядка];

Наприклад: char a[32];

const int len=80; char str[len];

Оскільки рядки є масивами символів, то назва рядка є вказівником на його перший елемент.

Ініціалізація символьного рядка

С++ дозволяє ініціалізувати масиви при оголошенні:

const char text[]=“Ми вивчаємо програмування”;

char slovo[11]=“University”;

char sl[]={‘U’,’n’, ‘i’,’v’,’e’,’r’,’s’,’i’,’t’,’y’,’\0’};

char tit[32]=“Hello, C++”;

Якщо кількість символів, що присвоюється рядку, менша від розміру масиву, більшість компіляторів С++ присвоюють символи NULL елементам рядкового масиву, що залишаються. Пізніше, в програмі, у цей масив можна буде вмістити довший рядок, обов'язково помістивши в кінці символ ‘\0’.

Передавання символьного рядка у функцію подібне до передавання будь-якого масиву як параметру. Наприклад:

void show-ryad(char ryad[])

 




Поделиться с друзьями:


Дата добавления: 2015-05-23; Просмотров: 2143; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.