C stringlar
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:
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:
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!
