Главная->Інформатика та програмування->Содержание->Строки как аргументы функций

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 10) онлайн

Строки как аргументы функций

Рассмотрим пример, показывающий, как строки используются в качестве аргу- ментов. Функция печатает строку, выводя знаки по очереди. Вот листинг про- граммы PTRSTR:

// ptrstr.cpp

// показ строки, определенной через указатель

#include <iostream>

using namespace std;

 

int main ( )

{

  void dispstr ( char* ); // прототип функции

  char str [ ] = "У бездельников всегда есть свободное время.";

 

  dispstr ( str );

 

  return 0;

}

///////////////////////////////////////////////////////////

void dispstr ( char* ps )

{

  while( *ps )            // пока не встретим конец строки

    cout << *ps++;        // будем посимвольно выводить ее на экран

  cout << endl;

}

Адрес массива str использован как аргумент при вызове функции dispstr(). Этот адрес является константой, но так как он передается по значению, то в функ- ции dispstr() создается его копия. Это будет указатель ps. Он может быть изме- нен, и функция увеличивает его, выводя строку на дисплей. Выражение *ps++

Строка, определенная              Строка, определенная

как массив         как указатель

возвращает следующий знак строки. Цикл повторяется до появления знака кон- ца строки ('\0'). Так как он имеет значение 0, которое интерпретируется как false, то в этот момент цикл заканчивается.

 

19