Учимся программировать на языке C++

ПЕРЕДАЧА СТРОК В ФУНКЦИИ


Передача символьной строки в функцию подобна передаче любого массива в качестве параметра. Внутри функции вам нужно просто указать тип массива (char) и левую и правую скобки массива. Вам не надо указывать размер строки. Например, следующая программа SHOW_STR.CPP использует функцию show_string для вывода символьной строки на экран:

#include iostream.h

void show_string(char string[])

{

cout string endl;

}

void main(void)

{

show_string("Привет, C++!");

show_string("Учусь программировать на C++");

}

Как видите, функция show_string трактует параметр символьной строки как массив:

void show_string(char string[])



Так как символ NULL указывает конец строки, функция не требует параметр, который задает количество элементов в массиве. Вместо этого функция может определить последний элемент, просто найдя в массиве символ NULL.

Как вы уже знаете, функции C++ часто используют символ NULL для определения конца строки. Следующая программа STR_LEN.CPP создает функцию с именем string_length, которая ищет символ NULL в строке для определения количества символов, содержащихся в строке. Далее функция использует оператор return для возврата длины строки вызвавшей функции. Программа передает несколько различных символьных строк в функцию, отображая длину каждой из них на экране:

#include iostream.h

int string_length(char string[])

{

int i;

for (i = 0; string[] != '\0'; i++); // Ничего не делать, но перейти к

// следующему символу return(i); Длина строки

}

void main(void)

{

char title[] = "Учимся программировать на языке C++";

char lesson[] = "Символьные строки";

cout "Строка " title " содержит " string_length(title) " символов" endl;

cout "Строка " lesson " содержит " string_length(lesson) " символов" endl;

}

Как видите, функция запускается с первого символа строки (элемент 0) и затем исследует каждый элемент до тех пор, пока не встретит NULL. Рассматривая программы на C++, вы встретите целый ряд функций, которые подобным образом просматривают символьные строки в поисках символа NULL.



Содержание раздела