Курсовая работа: Особливості мови програмування С
int length = 0;
while (*string != '\0')
{
length++;
string++;
}
return(length);
}
void main(void)
{
char title[] = "Учимся программировать на языке C++";
cout << title << " содержит " << string_length(title) << " символов";
}
Реакція ЕОМ:
Учимся программировать на языке C++ содержит 35 символов
Функція string_length сканує символи рядка до тих пір, поки не зустріне символ NULL.
Збільшення вказівника на символьний рядок
Коли програма передає масив у функцію, C++ передає адресу пам'яті першого елементу цього масиву. Використовуючи змінну-вказівник, функція може переміщатися по вмісту масиву, просто збільшуючи значення вказівника.
Наприклад, передбачимо, що програма передає у функцію символьний рядок "Привіт". Усередині функції змінна-вказівник спочатку вказує на ділянку пам'яті, яка містить букву 'П'.
Коли функція збільшує вказівник, то він далі вказує на ділянку пам'яті, яка містить букву 'р'. У міру збільшення функцією значення вказівника, він по черзі вказує на кожну букву в рядку і нарешті вказує на символ NULL.
2.1.2.3 Приклад 3
Наступна функція string_uppercase використовує вказівники для перетворення символів рядка в символи верхнього регистру:
char *string_uppercase(char* string)
{
char *starting_address = string; // адрес string[0];
while (*string)
{
if ((*string >= 'а') && (*string <= 'я')) *string = *string - 'a' + 'A';
string++;