Что такое массив строк?

Строка представляет собой набор символов, массив строки представляет собой массив массивов символов. Каждая строка заканчивается нулевым символом. Массив строки является одним из наиболее распространенных применений двумерных массивов.

scanf () - это функция ввода со спецификатором формата% s для чтения строки в качестве ввода с терминала. Но недостаток в том, что он заканчивается, как только он попадает в пространство. Чтобы избежать этого, функция get () может читать любое количество строк, включая пробелы.

Sting - это массив символов, оканчивающийся специальным символом, известным как нулевой символ («\ 0»).

Синтаксис

datatype name_of_the_array(size_of_elements_in_array);
char str_name(size);

пример

datatype name_of_the_array ( ) = ( Elements of array );
char str_name(8) = “Strings”;

Str_name - это имя строки, а размер определяет длину строки (количество символов).

Строка может быть определена как одномерный массив символов, поэтому массив строк - это двухмерный массив символов.

Синтаксис

char str_name(size)(max);

Синтаксис

char str_arr(2)(6) = ( ('g', 'o', 'u', 'r', 'i', '\0'), ('r', ' a', ' m', '\0'));

В качестве альтернативы, мы можем даже объявить это

Синтаксис

char str_arr(2)(6) =(“gouri”, ”ram”);

Из заданного синтаксиса есть два нижних индекса: один для определения количества строк, которые нужно объявить, а второй для определения максимальной длины символов, которые может хранить каждая строка, включая нулевой символ. Концепция C уже объясняет, что каждый символ занимает 1 байт данных при выделении памяти, приведенный выше пример синтаксиса занимает 2 * 6 = 12 байт памяти.

пример

char str_name(8) = ('s', 't', 'r', 'i', 'n', 'g', 's', '\0');
By the rule of initialization of array, the above declaration can be written as
char str_name() = “Strings”;

0 1 2 3 4 5 6 7 Указатель

Переменные 2000 2001 2002 2002 2003 2004 2005 2006 2007 Адрес

Это представление о том, как строки размещаются в памяти для объявленной выше строки в C.

Каждый символ в строке имеет индекс и адрес, назначенный каждому символу в строке. В вышеприведенном представлении нулевой символ («\ 0») автоматически помещается компилятором C в конец каждой строки, когда он инициализирует объявленный выше массив. Обычно строки объявляются с использованием двойных кавычек согласно правилам инициализации строк, и когда компилятор встречает двойные кавычки, он автоматически добавляет нулевой символ в конце строки.

Из приведенного выше примера мы знаем, что имя массива указывает на 0-й индекс, а адрес 2000, как мы уже знаем, индексация массива начинается с 0. Следовательно,

str_name + 0 points to the character “s”
str_name + 1 points to the character “t”

Как в приведенном выше примере для одномерного массива, так и указатель указывает на каждый символ строки.

Примеры массива String в C

#include
int main()
(
char name(10);
printf("Enter the name: ");
fgets(name, sizeof(name), stdin);
printf("Name is : ");
puts(name);
return 0;
)

Теперь для двумерных массивов у нас есть следующий синтаксис и распределение памяти. Для этого мы можем принять его как представление строки и столбца (формат таблицы).

char str_name(size)(max);

В этом табличном представлении каждая строка (первый нижний индекс) определяется как количество строк, которые должны быть сохранены, а столбец (второй нижний индекс) определяет максимальную длину строк.

char str_arr(2)(6) = ( ('g', 'o', 'u', 'r', 'i', '\0'), ('r', ' a', ' m', '\0'));

В качестве альтернативы, мы можем даже объявить это

Синтаксис:

char str_arr(2)(8) =(“gouri”, ”ram”);

Показатель

Ряды

0 1 2 3 4 5 6 7
0граммоUря\ 0\ 0\ 0
1рм\ 0\ 0\ 0\ 0\ 0

Из приведенного выше примера мы знаем, что имя массива указывает на 0-ю строку. Следовательно,

имя_строки + 0 указывает на 0-ю строку «гури»

имя_строки + 1 указывает на первую строку «оперативной памяти»

Как приведенный выше пример для двумерных массивов, так и указатель указывает на каждую строку массива.

#include
int main()
(
int i;
char name(2)(8) = (
“gouri”,
“ram”
);
for (i = 0; i < 2; i++)
(
printf(“String = %s \n”, name + i, name + i);
)
return 0;
)

Выход:

Функции строк

зЬгср (s1, s2); эта функция копирует строку s2 в строку s1.
char s1(10) = “gouri”;
char s2 (10) = “ram”;
char s3 (10) ;
strcpy(s3, s2);
result => strcpy(s3, s2) : ram

strcat (s1, s2); эта функция объединяет строки s1 и s2, строка s2 добавляется в конец строки s1.
char s1(10) = “gouri”;
char s2 (10) = “ram”;
strcat(s1, s2);
result => strcat(s1, s2) : gouriram

StrLen (S1); эта функция возвращает длину строки s1.
char s1(10) = “gouri”;
strlen(s1);
result => 5

зЬгстр (s1, s2); Эта функция сравнивает обе строки s1 и s2.
style="list-style-type: none;">
style="list-style-type: none;">

strchr (s1, ch); эти функции находят первое вхождение данного символа ch в строке s1, и указатель указывает на этот символ в строке.

strstr (s1, s2); это находит первое вхождение строки s2 в строке s1, и указатель указывает на строку s2 в строке s1.

С некоторыми недопустимыми операциями являются str_arr (0) = «gouri»; в этой операции указатель строки присваивается указателю константы, который недопустим и невозможен, так как имя массива является указателем константы.

Чтобы избежать этого, мы можем назначить str_arr с помощью strcpy (str_arr (0), «gouri»).

Вывод

Сам массив определяется как список строк. Из приведенного выше введения мы можем заключить, что объявление и инициализация строк различны, как мы видели для каждой строки, когда компилятор добавляет нулевой символ, когда он читает строку как ввод. Существует множество функций обработки строк, несколько функций с примерами описаны выше. Поэтому массивы строки так же просты, как массивы.

Рекомендуемые статьи

Это руководство по массиву строк в C. Здесь мы обсудим основы строк массива, пример строки массива в C и функции строк. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. String Array в C #
  2. Многомерный массив в C
  3. Массивы в Си Программирование
  4. 2D массивы в C #
  5. Как работает массив в Unix с синтаксисом?