Шта је низ струна?

Низ је скуп знакова, низ низа је низ низова знакова. Сваки низ је завршен нулл карактером. Низ низова једна је од најчешћих апликација дводимензионалних низова.

сцанф () је функција уноса са спецификацијом% с формата за читање низа као улаза са терминала. Али недостатак је што он престаје чим наиђе на простор. Да би се избегло ово добија () функцију која може да чита било који низ жица, укључујући размаке.

Стинг је низ знакова који завршава посебним карактером познатим као нулл знак ("\ 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”;

Стр_наме је назив низа, а величина дефинише дужину низа (број знакова).

Стринг се може дефинисати као једнодимензионални низ знакова, тако да је низ низова дводимензионални низ знакова.

Синтакса

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”);

Из дате синтаксе постоје две претплате, прва је за колико стрингова да се декларише, а друга је за дефинисање максималне дужине знакова које сваки низ може да похрани, укључујући нулл знак. Концепт Ц већ објашњава да сваки знак заузима 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 2003 2004 2005 2006 2007 Адреса

Ово је приказ како су низови распоређени у меморији за горе декларисани низ у Ц.

Сваки знак у низу има индекс и адресу додељену сваком знаку у низу. У горњем приказу, НУЛЛ знак ("\ 0") аутоматски саставља Ц преводилац на крају сваког низа када иницијализира горе декларисани низ. Обично се жице декларишу двоструким наводницима према правилима иницијализације стрингова, а када се компајлер нађе у двоструким наводницима, аутоматски додаје нулл знак на крају низа.

Из горњег примјера, као што знамо да име матрице указује на 0. индекс и адресу 2000, као што већ знамо, индексирање матрице почиње од 0. Стога,

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

Као што је горњи пример за једнодимензионални низ, тако показивач указује на сваки знак низа.

Примери низа низа на Ц

#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гоурја\ 0\ 0\ 0
1рам\ 0\ 0\ 0\ 0\ 0

Из горњег примјера као што знамо да назив матрице указује на 0. низ. Стога

стр_наме + 0 бодова за 0. низ "гоури"

стр_наме + 1 бод до 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;
)

Излаз:

Функције жице

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

стрцат (с1, с2); ова функција спаја низове с1 и с2, а низ с2 је додан на крају низа с1.
char s1(10) = “gouri”;
char s2 (10) = “ram”;
strcat(s1, s2);
result => strcat(s1, s2) : gouriram

стрлен (с1); ова функција враћа дужину низа с1.
char s1(10) = “gouri”;
strlen(s1);
result => 5

стрцмп (с1, с2); Ова функција упоређује оба низа с1 и с2.
style="list-style-type: none;">
style="list-style-type: none;">

стрцхр (с1, цх); ове функције проналазе прву појаву датог карактера цх у низу с1 и показивач упућује на овај знак у низу.

стрстр (с1, с2); ово проналази прву појаву низа с2 у низу с1, а показивач упућује на низ с2 у низу с1.

Уз неке неважеће операције су стр_арр (0) = „гоури“; у овој операцији показивач низа је додељен сталном показивачу који је неважећи и није могућ, јер је име матрице константан поинтер.

Да бисмо то избегли, можемо доделити стр_арр користећи стрцпи (стр_арр (0), "гоури").

Закључак

Сам низ дефинира као листу низова. Из горњег увода, можемо закључити да су декларација и иницијализација низова различити као што смо видели за сваки низ да преводилац дода нулл знак када чита низ као улаз. Постоји много функција руковања низовима, а неколико функција са примерима су објашњено горе. Стога су низови низова једноставни као и низови.

Препоручени чланци

Ово је водич за низове низова у Ц. Овде смо расправљали о основама низова низова, примеру низа низа у низу Ц и функцијама струна. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Низ низова у Ц #
  2. Вишедимензионални низ у Ц
  3. Низови у Ц програмирању
  4. 2Д низови у Ц #
  5. Како Арраи ради у Унику са синтаксом?

Категорија: