Изучение способов определения длины массива символов в C

При работе с массивами символов в языке программирования C важно знать их длину. Длина массива символов относится к количеству символов, которые он может содержать, или количеству символов, хранящихся в нем в данный момент. В этой статье блога мы углубимся в различные методы определения длины массива символов в C. Мы рассмотрим разговорные объяснения и предоставим примеры кода для иллюстрации каждого метода.

Метод 1: использование нулевого символа-терминатора («\0»)
Один из распространенных способов определения длины массива символов в C — использование нулевого символа-терминатора («\0»). В C строки представлены как массивы символов, оканчивающиеся нулевым символом. Проходя по массиву до тех пор, пока не встретим нулевой символ, мы можем подсчитать количество обработанных символов.

#include <stdio.h>
int main() {
    char array[] = "Hello, World!";
    int length = 0;

    while (array[length] != '\0') {
        length++;
    }

    printf("The length of the array is: %d\n", length);

    return 0;
}

Метод 2: использование функции strlen().
Другой удобный подход — использование функции strlen(). Эта функция является частью стандартной библиотеки C и возвращает длину строки, подсчитывая символы до достижения нулевого терминатора. Чтобы использовать strlen(), вам необходимо включить заголовок .

#include <stdio.h>
#include <string.h>
int main() {
    char array[] = "Hello, World!";
    int length = strlen(array);

    printf("The length of the array is: %d\n", length);

    return 0;
}

Метод 3: вычисление длины вручную
Если вы хотите избежать использования библиотечных функций, вы можете вручную вычислить длину массива символов, перебирая его до тех пор, пока не будет найден нулевой терминатор. Этот метод дает вам больше контроля над процессом, но требует написания дополнительного кода.

#include <stdio.h>
int main() {
    char array[] = "Hello, World!";
    int length = 0;

    while (array[length] != '\0') {
        length++;
    }

    printf("The length of the array is: %d\n", length);

    return 0;
}

Метод 4: сохранение длины в отдельной переменной
В качестве альтернативы вы можете сохранить отдельную переменную для хранения длины массива символов. Инициализируя переменную желаемой длины и обновляя ее при каждом изменении массива, вы можете динамически отслеживать ее длину.

#include <stdio.h>
int main() {
    char array[20] = "Hello, World!";
    int length = 13; // Initialize with the actual length

    // Modify the array
    array[7] = ',';
    array[8] = '!';
    array[9] = '\0';

    printf("The length of the array is: %d\n", length);

    return 0;
}