Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

С - Струны

Строки на самом деле представляют собой одномерный массив символов, оканчивающийся нулем. символ '\0'. Таким образом, строка с завершающим нулем содержит символы, из которых состоит строка, за которой следует null. .

Следующее объявление и инициализация создают строку, состоящую из слова «Hello». Чтобы содержать нулевой символ в конце массива, размер массива символов, содержащего строку, должен быть на единицу больше, чем количество символов в слове «Hello».

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

Если вы следуете правилу инициализации массива, то вы можете написать приведенный выше оператор следующим образом —

char greeting[] = "Hello";

Ниже приведено представление в памяти указанной выше строки в C/C++ —

На самом деле вы не ставите null символ в конце строковой константы. Компилятор C автоматически помещает '\0' в конец строки при инициализации массива. Давайте попробуем напечатать указанную выше строку —

Живая демонстрация
#include <stdio.h>

int main () {

   char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
   printf("Greeting message: %s\n", greeting );
   return 0;
}

Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —

Greeting message: Hello

C поддерживает широкий спектр функций, которые управляют строками с завершающим нулем —

<тд>

strcpy(s1, s2);

Копирует строку s2 в строку s1.

<тд>

стркат(s1, s2);

Объединяет строку s2 с концом строки s1.

<тд>

strlen(s1);

Возвращает длину строки s1.

<тд>

strcmp(s1, s2);

Возвращает 0, если s1 и s2 совпадают; меньше 0, если s1s2.

<тд>

strchr(s1, ch);

Возвращает указатель на первое вхождение символа ch в строку s1.

<тд>

стрстр(s1, s2);

Возвращает указатель на первое вхождение строки s2 в строку s1.

Сер.№ Функция и назначение
1
2
3
4
5
6

В следующем примере используются некоторые из вышеупомянутых функций —

Живая демонстрация
#include <stdio.h>
#include <string.h>

int main () {

   char str1[12] = "Hello";
   char str2[12] = "World";
   char str3[12];
   int  len ;

   /* copy str1 into str3 */
   strcpy(str3, str1);
   printf("strcpy( str3, str1) :  %s\n", str3 );

   /* concatenates str1 and str2 */
   strcat( str1, str2);
   printf("strcat( str1, str2):   %s\n", str1 );

   /* total lenghth of str1 after concatenation */
   len = strlen(str1);
   printf("strlen(str1) :  %d\n", len );

   return 0;
}

Когда приведенный выше код скомпилирован и выполнен, он дает следующий результат —

strcpy( str3, str1) :  Hello
strcat( str1, str2):   HelloWorld
strlen(str1) :  10

Язык C

  1. C# Строка
  2. Java-строки
  3. Строки перечисления Java
  4. Как создать список строк в VHDL
  5. Строки C++:strcpy(), strcat(), strlen(), strcmp() ПРИМЕРЫ
  6. Строки в C:как объявить переменную, инициализировать, распечатать, пример
  7. Метод Java String charAt() с примером
  8. Метод Java String endWith() с примером
  9. Строки Python:заменить, объединить, разделить, перевернуть, прописные и строчные буквы
  10. Количество строк Python() с ПРИМЕРАМИ