Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»



Download 2 Mb.
bet40/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   36   37   38   39   40   41   42   43   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

Рис. 1.10. Выделение памяти под двумерный массив


Îñâîáîæäåíèå ïaìяòè èç-ïîä ìaññèâa ñ ëþáûì êîëè÷åñòâîì èçìåðåíèé âûïîë- íяåòñя ñ ïîìîùüþ îïåðaöèè delete []. Óêaçaòåëü ía êîíñòaíòó óäaëèòü íåëüçя.


ПРИМЕЧАНИЕ
Äëя ïðaâèëüíîé èíòåðïðåòaöèè îáúяâëåíèé ïîëåçíî çaïîìíèòü ìíåìîíè÷åñêîå ïðaâèëî:
«ñóôôèêñ ïðåæäå ïðåôèêña». Åñëè ïðè îïèñaíèè ïåðåìåííîé èñïîëüçóþòñя îäíîâðåìåí- íî ïðåôèêñ * (óêaçaòåëü) è ñóôôèêñ [] (ìaññèâ), òî ïåðåìåííaя èíòåðïðåòèðóåòñя êaê ìaññèâ óêaçaòåëåé, a íå óêaçaòåëü ía ìaññèâ: int *p[10]; — ìaññèâ èç 10 óêaçaòåëåé ía int.


Строки


Còðîêa ïðåäñòaâëяåò ñîáîé ìaññèâ ñèìâîëîâ, çaêaí÷èâaþùèéñя íóëü-ñèìâîëîì. Íóëü-ñèìâîë — ýòî ñèìâîë ñ êîäîì, ðaâíûì 0, ÷òî çaïèñûâaåòñя â âèäå óïðaâ- ëяþùåé ïîñëåäîâaòåëüíîñòè '\0'. Ïî ïîëîæåíèþ íóëü-ñèìâîëa îïðåäåëяåòñя ôaêòè÷åñêaя äëèía ñòðîêè. Còðîêó ìîæíî èíèöèaëèçèðîâaòü ñòðîêîâûì ëèòåða- ëîì (ñì. ñ. 20):
Char str[10] = "Vasia";
// âûäåëåíî 10 ýëåìåíòîâ ñ íîìåðaìè îò 0 äî 9
// ïåðâûå ýëåìåíòû — 'V', 'a', 's', 'i', 'a', '\0'
 ýòîì ïðèìåðå ïîä ñòðîêó âûäåëяåòñя 10 áaéò, 5 èç êîòîðûõ çaíяòî ïîä ñèìâîëû ñòðîêè, a øåñòîé — ïîä íóëü-ñèìâîë. Åñëè ñòðîêa ïðè îïðåäåëåíèè èíèöèaëèçè- ðóåòñя, åå ðaçìåðíîñòü ìîæíî îïóñêaòü (êîìïèëяòîð ñaì âûäåëèò ñîîòâåòñòâóþ- ùåå êîëè÷åñòâî áaéò):
Char str[] = "Vasia"; // âûäåëåíî è çaïîëíåíî 6 áaéò
Îïåðaòîð
Char *str = "Vasia"
ñîçäaåò íå ñòðîêîâóþ ïåðåìåííóþ, a óêaçaòåëü ía ñòðîêîâóþ êîíñòaíòó, èçìå- íèòü êîòîðóþ íåâîçìîæíî (ê ïðèìåðó, îïåðaòîð str[1]='O' íå äîïóñêaåòñя). Çíaê

ðaâåíñòâa ïåðåä ñòðîêîâûì ëèòåðaëîì îçía÷aåò èíèöèaëèçaöèþ, a íå ïðèñâaèâa- íèå. Îïåðaöèя ïðèñâaèâaíèя îäíîé ñòðîêè äðóãîé íå îïðåäåëåía (ïîñêîëüêó ñòðîêa яâëяåòñя ìaññèâîì) è ìîæåò âûïîëíяòüñя ñ ïîìîùüþ öèêëa èëè ôóíêöèé ñòaíäaðòíîé áèáëèîòåêè. Áèáëèîòåêa ïðåäîñòaâëяåò âîçìîæíîñòè êîïèðîâaíèя, ñðaâíåíèя, îáúåäèíåíèя ñòðîê, ïîèñêa ïîäñòðîêè, îïðåäåëåíèя äëèíû ñòðîêè è ò. ä. (âîçìîæíîñòè áèáëèîòåêè îïèñaíû â ðaçäåëå «Ôóíêöèè ðaáîòû ñî ñòðîêa- ìè è ñèìâîëaìè», ñ. 91, è â ïðèëîæåíèè 6), a òaêæå ñîäåðæèò ñïåöèaëüíûå ôóíê- öèè ââîäa ñòðîê è îòäåëüíûõ ñèìâîëîâ ñ êëaâèaòóðû è èç ôaéëa.


Ïðèìåð. Ïðîãðaììa çaïðaøèâaåò ïaðîëü íå áîëåå òðåõ ðaç.
inClude inClude int main(){
Char s[5], passw[] = "kuku"; // passw – ýòaëîííûé ïaðîëü.
// Ìîæíî îïèñaòü êaê *passw = "kuku";
int i,k= 0;
fOr (i = 0; !k && i<3; i++){ printf("\nââåäèòå ïaðîëü:\n");
gets(s); // ôóíêöèя ââîäa ñòðîêè
if (strstr(s,passw))k = 1; // ôóíêöèя ñðaâíåíèя ñòðîê
}
if (k) printf("\nïaðîëü ïðèíяò"); else printf("\nïaðîëü íå ïðèíяò"); return 0;
}
Ïðè ðaáîòå ñî ñòðîêaìè ÷añòî èñïîëüçóþòñя óêaçaòåëè.



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   36   37   38   39   40   41   42   43   ...   232




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish