|
|||
Передача строк в функцииПередача строк в функции Передача символьной строки в функцию подобна передаче любого массива в качестве параметра. Внутри функции вам нужно просто указать тип массива (char) и левую и правую скобки массива. Вам не надо указывать размер строки. Например, следующая программа SHOW_STR.CPP использует функцию show_ string для вывода символьной строки на экран:
#include “iostream” 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” 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. Символ NULL представляет собой символ ASCII 0. C++ использует значение 0, чтобы представлять ложь. Таким образом, поскольку символ NULL равен 0, программы могут упростить многие операции цикла. Например, многие функции просматривают символьные строки символ за символом в поиске NULL. Следующий цикл for иллюстрирует, как программа может искать NULL в строке: for (index = 0; string[index] != NULL; index++) Поскольку символ NULL равен 0, многие программы упрощают циклы, которые ищут NULL, как показано ниже: for (index = 0; string[index]; index++); В данном случае пока символ, содержащийся в string[index] не NULL (0 или ложь), цикл продолжается.
|
|||
|