C stringlar


ULASHISH

Stringlar

Stringlar matn/belgilarni saqlash uchun ishlatiladi.

Masalan, "Hello World" — belgilardan iborat string.

Boshqa ko‘plab dasturlash tillaridan farqli o‘laroq, C tilida string o‘zgaruvchilarni oson yaratish uchun String tipi mavjud emas. Buning o‘rniga C tilida string hosil qilish uchun char tipidan foydalanib, belgilar massivini yaratishingiz kerak:

char greetings[] = "Hello World!";

E’tibor bering, qo‘shtirnoqlardan ("") foydalanishingiz shart.

Stringni chiqarish uchun printf() funksiyasidan %s format spetsifikatori bilan birga foydalanishingiz mumkin — u C tiliga hozir stringlar bilan ishlayotganimizni bildiradi:

Misol

char greetings[] = "Hello World!"; printf("%s", greetings);
O‘zingiz sinab ko‘ring »

Stringlarga murojaat qilish

C tilida stringlar aslida massivlar bo‘lgani uchun stringga kvadrat qavslar [] ichida indeks raqamini ko‘rsatib murojaat qilishingiz mumkin.

Bu misol greetings stringidagi birinchi belgini (0) chop etadi:

Misol

char greetings[] = "Hello World!"; printf("%c", greetings[0]);
O‘zingiz sinab ko‘ring »

E’tibor bering, bitta belgini chop etish uchun %c format spetsifikatoridan foydalanishimiz kerak.


Stringlarni o‘zgartirish

Stringdagi muayyan belgining qiymatini o‘zgartirish uchun indeks raqamiga murojaat qiling va yakka tirnoqlardan foydalaning:

Misol

char greetings[] = "Hello World!"; greetings[0] = 'J'; printf("%s", greetings); // Outputs Jello World! instead of Hello World!
O‘zingiz sinab ko‘ring »


String bo‘ylab sikl

for sikli yordamida string belgilarini ham aylanib chiqishingiz mumkin:

Misol

char carName[] = "Volvo"; int i; for (i = 0; i < 5; ++i) {   printf("%c\n", carName[i]); }
O‘zingiz sinab ko‘ring »

Massiv bo‘ylab sikl bobida aytganimizdek, siklni barqarorroq qilish uchun (sikl shartida massiv o‘lchamini qo‘lda yozish (i < 5) o‘rniga) sizeof formulasidan foydalanishingiz kerak:

Misol

char carName[] = "Volvo"; int length = sizeof(carName) / sizeof(carName[0]); int i; for (i = 0; i < length; ++i) {   printf("%c\n", carName[i]); }
O‘zingiz sinab ko‘ring »

Stringlar yaratishning boshqa usuli

Yuqoridagi misollarda string o‘zgaruvchi yaratish uchun "string literal" usulidan foydalandik. Bu C tilida string yaratishning eng oson usuli.

Shuni ham bilib qo‘yingki, stringni belgilar to‘plami yordamida ham yaratish mumkin. Bu misol sahifa boshidagi misol bilan bir xil natija beradi:

Misol

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'}; printf("%s", greetings);
O‘zingiz sinab ko‘ring »

Nega oxiriga \0 belgisini qo‘shamiz? U "null belgisi" (null terminating character) deb ataladi va stringlarni shu usulda yaratishda albatta qo‘shilishi kerak. U C tiliga string shu yerda tugashini bildiradi.


Farqlar

String yaratishning ikki usuli o‘rtasidagi farq shundaki, birinchi usulni yozish osonroq va \0 belgisini qo‘shishingiz shart emas, chunki C buni siz uchun o‘zi bajaradi.

E’tibor bering, ikkala massivning o‘lchami bir xil: \0 belgisi bilan birga ikkalasida ham 13 ta belgi bor (aytgancha, bo‘sh joy ham belgi hisoblanadi):

Misol

char greetings[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'}; char greetings2[] = "Hello World!"; printf("%zu\n", sizeof(greetings));   // Outputs 13 printf("%zu\n", sizeof(greetings2));  // Outputs 13
O‘zingiz sinab ko‘ring »

Hayotiy misol

Oddiy salomlashuv xabarini yaratish uchun stringlardan foydalaning:

Misol

char message[] = "Good to see you,"; char fname[] = "John"; printf("%s %s!", message, fname);
O‘zingiz sinab ko‘ring »



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!