Top.Mail.Ru
Уведомления
Очистить все

[Решено] Null-terminated string - как создать на C?

n1ck
 n1ck
(@n1ck)
Level 1

Здравствуйте, объясните простым языком пожалуйста, что есть такое - "Null-terminated string" и как можно создать такую строку на C.

Цитата
Topic starter Размещено : 05.02.2023 13:23
Эдуард
(@eduard)
Level 3 Moderator

Это массив символов. Обычно так:

char CString[] = "Hello";

Переменная CString будет оканчиваться нулём, автоматически. Можно так:

char CString[] = {35, 46, 32, 48, 0};
ОтветитьЦитата
Размещено : 05.02.2023 13:33
Aveal
(@aveal)
Top level Admin

Привет, да, Эдуард все четко описал, строка на C - это просто массив char элементов. Null-terminated string - просто массив элементов, в котором присутствует символ '\0', сообщающий об окончании "строки" (при этом размер массива может быть и больше).

char myFirstString[10] = "Temp";

// Получаем:
// myString[0] = 'T'
// myString[1] = 'e'
// myString[2] = 'm'
// myString[3] = 'p'
// myString[4] = '\0' - добавлено автоматически

// То же самое:
char mySecondString[10] = {'T', 'e', 'm', 'p', '\0'};

В виде hex-значений получим (ascii table):

// myString[0] = 0x54
// myString[1] = 0x65
// myString[2] = 0x6D
// myString[3] = 0x70
// myString[4] = 0x00
ОтветитьЦитата
Размещено : 05.02.2023 13:59
n1ck
 n1ck
(@n1ck)
Level 1

Спасибо, в итоге все довольно просто и понятно оказалось.

ОтветитьЦитата
Topic starter Размещено : 05.02.2023 17:24
Поделиться: