SlideShare a Scribd company logo
1 of 23
Çààã÷ áà á¿òýö
òºðºë ,
çààã÷èéí çààã÷
ÕÈ÷ÝÝË 13
Õè÷ýýëèéí Àãóóëãà
 Á¿òýö òºðºë áà çààã÷
 Çààã÷èéí çààã÷
 Îëîí õýìæýýñò ìàññèâ áà çààã÷
 Òýìäýãò ìºð áà çààã÷
2
Á¿òýö òºðºë áà çààã÷
3
 Á¿òýö òºðëèéí çààã÷ çàðëàõ :
struct <Á¿òöèéí íýð> *<Çààã÷èéíÍýð>);
 Á¿òýö òºðëèéí çààã÷ îáüåêòûí ãèø¿¿í
ýëåìåíòýä õàíäàõ
Á¿òöèéí íýð -> Ãèø¿¿íÕóâüñàã÷;
Æèøýý 4
#include<stdio.h>
struct Student {
char Name[20];
int grade;
}SW;
struct Student *p=&SW;
main()
{ scanf("%s",p->Name); scanf("%d",&p->grade);
printf("n Name =%s ",p->Name);
printf(" Grade =%d n",p->grade);
}
Á¿òýö òºðëèéí çààã÷
çàðëàõ
Ãèø¿¿í ýëåìåíòýä íü
õàíäàõ
Á¿òýö òºðºë áà çààã÷
 Á¿òýö òºðëèéí ãèø¿¿í ýëåìåíòýä ìºí äàðààõ
àðãààð õàíäàæ áîëíî.
(*Á¿òöèéí íýð) . Ãèø¿¿íÕóâüñàã÷;
 Æèøýý :
main()
{ scanf("%s",(*p).Name); scanf("%d",&(*p).grade);
printf("n Name =%s ",(*p).Name);
printf(" Grade =%d n",(*p).grade);
}
5
-> ¿éëäýë
 Ýíý ¿éëäýë íü ( ) ¿éëäëýýñ áàãà çýðýãëýëòýé , õàðèí óíàð
¿éëäë¿¿äýýñ ºíäºð çýðýãëýëòýé ¿éëäýë þì. Èéìä :
 ++p->Age èëýðõèéëëèéí õóâüä p çààã÷èéí óòãà áèø, Age
õóâüñàã÷èéí óòãà ººð÷ëºãäºíº.
 Õàðèí (++p)->Age èëýðõèéëëèéí õóâüä p çààã÷èéí óòãà íýìýãäýíý.
6
Æèøýý
#include <stdio.h>
struct Instit {
char *depart; int Total;
char *depart1; int Total1;
}stand = {“Ïðîãðàìì õàíãàìæ”, 23400,
“Òåõíèê õàíãàìæ”, 4500 };
int Sum(dep_num)
struct Instit *dep_num;
{ return (dep_num->Total + dep_num->Total1); }
main()
{ printf(“Total: %d”,Sum(&stand)); }
7
Îëîí õýìæýýñò ìàññèâ áà
çààã÷
 Ñè õýëýíä 2 õýìæýýñò ìàññèâûã íýã
õýìæýýñò ìàññèâóóäûí ìàññèâ áàéäëààð
ä¿ðñýëäýã. Òèéìýýñ ìàññèâò çààã÷ àøèãëàí
õàíäàõäàà äàðààõ áàéäëààð õàíääàã.
 *(A+i) áîë i-ð ìºðèéí ýõíèé ýëåìåíòèéí
õàÿã
 *(A+i)+j áîë i-ð ìºðèéí j-ð ýëåìåíòèéí õàÿã
 *(*(A+i)+j) áîë i-ð ìºðèéí j-ð ýëåìåíòèéí
óòãà
8
Îëîí õýìæýýñò ìàññèâ áà
çààã÷
 ªºðººð õýëáýë äàðààõ áè÷ëýã¿¿ä àäèë ÷àíàðòàé .
 &A[i][j] == *(A+i)+j
 A[i][j] == *(*(A+i)+j)
 A[i] == &A[i][0]
 A[i][0] == *A[i]
 A[i][j] == *(A[i] + j)
9
Îëîí õýìæýýñò ìàññèâ áà
çààã÷
 Æèøýý : 2 õýìæýýñò ìàññèâûã õýâëýõ
for(i=0;i<10;i++)
{ for(j=0;j<10;j++) printf(“%d ”, *(*(A+i)+j));
printf(“n”);
}
 Æèøýý : 2 õýìæýýñò ìàññèâò óòãà îëãîõ
for(i=0,k=0; i<10; i++)
for(j=0; j<10; j++) *(*(A+i)+j)=k++;
10
Çààã÷èéí çààã÷
 Çààã÷èéã çààõ õóâüñàã÷èéã çààã÷èéí çààã÷ ãýíý. ªºðººð õýëáýë çààã÷
îáüåêòûã çààäàã õóâüñàã÷ þì.
 Èéì õýëáýðèéí çààã÷èéã îëîí õýìæýýñò ìàññèâ áà ìºð òýìäýãòèéí
õóâüä õýðýãëýõýä òîõèðîìæòîé áàéäàã.
11
Õºðâ¿¿ëýëò õèéõ
Äýýðõ áè÷ëýãèéã àøèãëàí òºðºëò áèø p çààã÷ äýýð
õºðâ¿¿ëýëò õèéâýë :
 int òºðëèéí çààã÷ áîëãîõ
(int *)p
 int òºðëèéí çààã÷ áàéäëààð õàíäàæ óòãûã óíøèõ
*(int *)p
 double òºðëèéí çààã÷ áàéäëààð õàíäàæ óíøèõ
*(double *)p
12
Æèøýý
#include <stdio.h>
char c[12]="ababababab"; int i=10;
void *p1=(void *)c;
main()
{ for(i=0;i<3;i++)
{ printf("%c ",*(char *)(p1));
(long *)p1=(long *)p1+1; /* ((long *)p1) ++ */
}
}
/* ¯ð ä¿í íü : a a a */
13
char òºðëèéí çààã÷
áàéäëààð õàíäàõ
long òºðëèéí çààã÷ààð
õàíäàæ çààã÷èéã
øèëæ¿¿ëýõ
Ôóíêö ðóó õàÿãààð äàìæóóëàõ
 Æèøýý : A[N] ìàññèâûí MAX ýëåìåíòèéã ìàññèâûí
òºãñãºëä àâàà÷.
#include<stdio.h>
Swap(int *p1, int *p2)
{ int tmp; tmp=*p1; *p1=*p2; *p2=tmp; }
main()
{ int A[10]={4,2,5,1,3,1,3,6,2,1}, n=10, i;
for(i=0;i<n-1;i++) if(A[i]>A[i+1])
Swap(&A[i], &A[i+1]); printf(“MAX=%d”,A[n-1]);
}
14
Ôóíêöèéí çààã÷
 Ñè õýëýíä ôóíêöèéã äóóäàõ 2 àðãà áàéäàã.
 Øóóä äóóäàõ
 Øóóä áóñ äóóäàõ
 Áèä ºìíº íü ôóíêöèéã øóóä äóóäàæ áàéñàí . ª.õ
øóóä íýðýýð íü õàíäàæ äóóäíà.
int Sum(int x,int y) { . . . }
main()
{ Sum(5,6); /* Øóóä íýðýýð íü äóóäàõ */
}
15
Ôóíêöûí çààã÷
 Ôóíêöèéã øóóä áóñààð äóóäàõäàà ôóíêöèéí
çààã÷
ãýæ íýðëýãäýõ çààã÷ õóâüñàã÷èéã àøèãëàäàã.
 Ôóíêöèéí çààã÷èéã çàðëàõ :
<Áóöààõ òºðºë> (*<ÔóíêöèéíÍýð>)(<Òºðºë>, ..);
 Øóóä áóñààð äóóäàõ ãýæ áàéãàà ôóíêöûí
çàðëàëò ÿìàð áàéíà, ÿã òèéì áàéäëààð
çàðëàäàã.
16
Ôóíêöûí çààã÷
 /* int ºãºãäºë áóöààäàã, àðãóìåíòã¿é ôóíêöèéã
äóóäàõàä àøèãëàõ ôóíêöèéí çààã÷ */
 int (*func)();
 Óòãà îëãîõäîî :
 <Ôóíêöèéí çààã÷>=&<Ôóíêö>;
 Àæèëëóóëàõäàà áóþó äóóäàõäàà :
 <Ôóíêöèéí çààã÷>( [àðãóìåíòóóä] );
17
Ôóíêöûí çààã÷
 Æèøýý : 2 òîîíû íèéëáýð îëîõ
#include<stdio.h>
int Sum(int a,int b)
{ return (a+b); }
main()
{ int (*func)(int,int);
func=&Sum;
printf("%d", func(5,3)); /* 8 */
}
18
Çàðëàõ
Óòãà îëãîõ áóþó
çààëãàõ
Ôóíêö äóóäàõ
Çààã÷ áà ìàññèâ
 Ìàññèâûí ýõíèé ýëåìåíòèéí õàÿã íü ìàññèâûí íýð
áàéäàã.
 Íýã õýìæýýñò ìàññèâ ñàíàõ îéä äàðààëæ áàéðëàäàã.
À Ìàññèâûí 0-ð ýëåìåíòèéí õàÿã áóþó &À[0]
A+1 1-ð ýëåìåíòèéí õàÿã áóþó &A[1]
A+2 2-ð ýëåìåíòèéí õàÿã áóþó &A[2]
A+3 3-ð ýëåìåíòèéí õàÿã áóþó &A[3]
. . .
A+i i-ð ýëåìåíòèéí õàÿã áóþó &A[i]
19
Çààã÷ áà ìàññèâ 20
 Ýíäýýñ ìàññèâûí ýëåìåíòýä õàíäàõäàà
äàðààõ 2 àðãààð õàíäàæ áîëîõ íü õàðàãäàæ
áàéíà.
 A[i]=10; ýñâýë *(A+i)
 A[50] Ìàññèâûã õýâëýâýë :
for(i=0; i<50; i++) printf(“%d n”, *(A+i));
À ìàññèâûí ýõëýëèéí
õàÿãààñ ýõëýí i-ð
ýëåìåíòèéã óíøèõ
Æèøýý
#include<stdio.h>
#include<stdlib.h>
int a[10],i,min;
main()
{ for(i=0;i<10;i++) *(a+i)=random(100);
min=*a;
for(i=1;i<10;i++) if(min>*(a+i)) min=*(a+i);
printf(" MIN = %d n",min);
}
21
Çààã÷ áà ìàññèâ
 Ýíý á¿õíýýñ ä¿ãíýæ ¿çâýë ìàññèâûí íýð áîë
çààã÷ õóâüñàã÷ áîëæ áàéíà.
 Áèä a[i] ìàññèâûí ýëåìåíòýä èíãýæ õàíääàã.
 Òýãâýë [ ] ¿éëäýë ìààíü à õàÿãààñ ýõëýí i -ð
øèëæèëòýä áóé îáüåêòûí óòãûã àâäàã ¿éëäýë
áîëæ áàéíà.
int i=259; char *p=&i;
printf(" p[0] = %d ",p[0]); /* 3 */
printf(" p[1] = %d ",p[1]); /* 1 */
 ª.õýëáýë *(p+1) = p[i] ¿éëäë¿¿ä èæèë ¿ð
ä¿íòýé.
22
Æèøýý : [ ] ¿éëäýë
#include <stdio.h>
char c[12]="ababababab"; int i=10;
void *p1=(void *)c;
main()
{ clrscr();
for(i=0; i<12; i+=2)
printf("%c ",((char *)p1)[i]);
} /* ¯ð ä¿í íü : a a a a a */
23

More Related Content

What's hot

Vevaiosi imerida
Vevaiosi imeridaVevaiosi imerida
Vevaiosi imeridaFCS project
 
Shafa at الشفاعة
Shafa at   الشفاعةShafa at   الشفاعة
Shafa at الشفاعةIffu Slides
 
Reinhardt Transcript Page 1
Reinhardt Transcript Page 1Reinhardt Transcript Page 1
Reinhardt Transcript Page 1Mary Diesch
 
Tenth class-state syllabus-model paper-em-ap-sanskrit
Tenth class-state syllabus-model paper-em-ap-sanskritTenth class-state syllabus-model paper-em-ap-sanskrit
Tenth class-state syllabus-model paper-em-ap-sanskritNaukriTuts
 
Surah alfatihahi review
Surah alfatihahi reviewSurah alfatihahi review
Surah alfatihahi reviewhannanasim
 
20080302 cryptography hirsch_lecture03
20080302 cryptography hirsch_lecture0320080302 cryptography hirsch_lecture03
20080302 cryptography hirsch_lecture03Computer Science Club
 
Allama hasan raza barailwi ki naatiya shaeri
Allama hasan raza barailwi ki naatiya shaeriAllama hasan raza barailwi ki naatiya shaeri
Allama hasan raza barailwi ki naatiya shaeriMushahid Razvi
 

What's hot (11)

Img 4 corr
Img 4 corrImg 4 corr
Img 4 corr
 
2011 eec abcd
2011 eec abcd2011 eec abcd
2011 eec abcd
 
Vevaiosi imerida
Vevaiosi imeridaVevaiosi imerida
Vevaiosi imerida
 
Shafa at الشفاعة
Shafa at   الشفاعةShafa at   الشفاعة
Shafa at الشفاعة
 
Reinhardt Transcript Page 1
Reinhardt Transcript Page 1Reinhardt Transcript Page 1
Reinhardt Transcript Page 1
 
Tenth class-state syllabus-model paper-em-ap-sanskrit
Tenth class-state syllabus-model paper-em-ap-sanskritTenth class-state syllabus-model paper-em-ap-sanskrit
Tenth class-state syllabus-model paper-em-ap-sanskrit
 
J query
J queryJ query
J query
 
Surah alfatihahi review
Surah alfatihahi reviewSurah alfatihahi review
Surah alfatihahi review
 
Income tax Return By Sheraz Urdu
Income tax Return By Sheraz UrduIncome tax Return By Sheraz Urdu
Income tax Return By Sheraz Urdu
 
20080302 cryptography hirsch_lecture03
20080302 cryptography hirsch_lecture0320080302 cryptography hirsch_lecture03
20080302 cryptography hirsch_lecture03
 
Allama hasan raza barailwi ki naatiya shaeri
Allama hasan raza barailwi ki naatiya shaeriAllama hasan raza barailwi ki naatiya shaeri
Allama hasan raza barailwi ki naatiya shaeri
 

Viewers also liked

EJ Roe and Michael Watson-Deep Sea Soil Collector
EJ Roe and Michael Watson-Deep Sea Soil CollectorEJ Roe and Michael Watson-Deep Sea Soil Collector
EJ Roe and Michael Watson-Deep Sea Soil CollectorEvan (E.J.) Roe
 
Quotographic by FitQuote
Quotographic by FitQuoteQuotographic by FitQuote
Quotographic by FitQuoteDiana L. Lyons
 
ACTIVIDAD DECIMO: Semana 18
ACTIVIDAD DECIMO: Semana 18 ACTIVIDAD DECIMO: Semana 18
ACTIVIDAD DECIMO: Semana 18 pvyinna
 
Kepmen 141 tahun 2014 tentang 70 daerah terentaskan
Kepmen 141 tahun 2014 tentang 70 daerah terentaskanKepmen 141 tahun 2014 tentang 70 daerah terentaskan
Kepmen 141 tahun 2014 tentang 70 daerah terentaskanGalih Putro
 
Презентация заключителна пресконференция
Презентация заключителна пресконференцияПрезентация заключителна пресконференция
Презентация заключителна пресконференцияБорислав Крумов
 
Comunicacion en la ingenieria
Comunicacion en la ingenieriaComunicacion en la ingenieria
Comunicacion en la ingenieria20_masambriento
 
Being functional in PHP
Being functional in PHPBeing functional in PHP
Being functional in PHPDavid de Boer
 
구조적가족치료2
구조적가족치료2구조적가족치료2
구조적가족치료2John Kang
 
Artorius Faber @ 100% Design 2014
Artorius Faber @ 100% Design 2014Artorius Faber @ 100% Design 2014
Artorius Faber @ 100% Design 2014Jake Shurville
 
Present perfect (joan and maria x)
Present perfect (joan and maria x)Present perfect (joan and maria x)
Present perfect (joan and maria x)wikiworks
 
InCrys in numbers
InCrys in numbersInCrys in numbers
InCrys in numbersInCrys
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018André Luiz Forchesatto
 

Viewers also liked (20)

Las aves
Las avesLas aves
Las aves
 
EJ Roe and Michael Watson-Deep Sea Soil Collector
EJ Roe and Michael Watson-Deep Sea Soil CollectorEJ Roe and Michael Watson-Deep Sea Soil Collector
EJ Roe and Michael Watson-Deep Sea Soil Collector
 
Quotographic by FitQuote
Quotographic by FitQuoteQuotographic by FitQuote
Quotographic by FitQuote
 
Actividad 7.ayala arvizucesareduardo
Actividad 7.ayala arvizucesareduardoActividad 7.ayala arvizucesareduardo
Actividad 7.ayala arvizucesareduardo
 
7 reglas de la vida
7 reglas de la vida7 reglas de la vida
7 reglas de la vida
 
ACTIVIDAD DECIMO: Semana 18
ACTIVIDAD DECIMO: Semana 18 ACTIVIDAD DECIMO: Semana 18
ACTIVIDAD DECIMO: Semana 18
 
Gasometría paho
Gasometría pahoGasometría paho
Gasometría paho
 
Excel y sus utilidades
Excel y sus utilidadesExcel y sus utilidades
Excel y sus utilidades
 
Kepmen 141 tahun 2014 tentang 70 daerah terentaskan
Kepmen 141 tahun 2014 tentang 70 daerah terentaskanKepmen 141 tahun 2014 tentang 70 daerah terentaskan
Kepmen 141 tahun 2014 tentang 70 daerah terentaskan
 
Linux
LinuxLinux
Linux
 
Презентация заключителна пресконференция
Презентация заключителна пресконференцияПрезентация заключителна пресконференция
Презентация заключителна пресконференция
 
Finance1
Finance1Finance1
Finance1
 
Comunicacion en la ingenieria
Comunicacion en la ingenieriaComunicacion en la ingenieria
Comunicacion en la ingenieria
 
Being functional in PHP
Being functional in PHPBeing functional in PHP
Being functional in PHP
 
jboyajian-recommendation
jboyajian-recommendationjboyajian-recommendation
jboyajian-recommendation
 
구조적가족치료2
구조적가족치료2구조적가족치료2
구조적가족치료2
 
Artorius Faber @ 100% Design 2014
Artorius Faber @ 100% Design 2014Artorius Faber @ 100% Design 2014
Artorius Faber @ 100% Design 2014
 
Present perfect (joan and maria x)
Present perfect (joan and maria x)Present perfect (joan and maria x)
Present perfect (joan and maria x)
 
InCrys in numbers
InCrys in numbersInCrys in numbers
InCrys in numbers
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018
 

More from Tuguldurbayar Gantogoo (13)

Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Lecture 6
Lecture 6Lecture 6
Lecture 6
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Lecture 7
Lecture 7Lecture 7
Lecture 7
 
Lecture 8
Lecture 8Lecture 8
Lecture 8
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
Lecture 10
Lecture 10Lecture 10
Lecture 10
 
Lecture 11
Lecture 11Lecture 11
Lecture 11
 
Lecture 14
Lecture 14Lecture 14
Lecture 14
 
Chap15
Chap15Chap15
Chap15
 

Lecture 13

  • 1. Çààã÷ áà á¿òýö òºðºë , çààã÷èéí çààã÷ ÕÈ÷ÝÝË 13
  • 2. Õè÷ýýëèéí Àãóóëãà  Á¿òýö òºðºë áà çààã÷  Çààã÷èéí çààã÷  Îëîí õýìæýýñò ìàññèâ áà çààã÷  Òýìäýãò ìºð áà çààã÷ 2
  • 3. Á¿òýö òºðºë áà çààã÷ 3  Á¿òýö òºðëèéí çààã÷ çàðëàõ : struct <Á¿òöèéí íýð> *<Çààã÷èéíÍýð>);  Á¿òýö òºðëèéí çààã÷ îáüåêòûí ãèø¿¿í ýëåìåíòýä õàíäàõ Á¿òöèéí íýð -> Ãèø¿¿íÕóâüñàã÷;
  • 4. Æèøýý 4 #include<stdio.h> struct Student { char Name[20]; int grade; }SW; struct Student *p=&SW; main() { scanf("%s",p->Name); scanf("%d",&p->grade); printf("n Name =%s ",p->Name); printf(" Grade =%d n",p->grade); } Á¿òýö òºðëèéí çààã÷ çàðëàõ Ãèø¿¿í ýëåìåíòýä íü õàíäàõ
  • 5. Á¿òýö òºðºë áà çààã÷  Á¿òýö òºðëèéí ãèø¿¿í ýëåìåíòýä ìºí äàðààõ àðãààð õàíäàæ áîëíî. (*Á¿òöèéí íýð) . Ãèø¿¿íÕóâüñàã÷;  Æèøýý : main() { scanf("%s",(*p).Name); scanf("%d",&(*p).grade); printf("n Name =%s ",(*p).Name); printf(" Grade =%d n",(*p).grade); } 5
  • 6. -> ¿éëäýë  Ýíý ¿éëäýë íü ( ) ¿éëäëýýñ áàãà çýðýãëýëòýé , õàðèí óíàð ¿éëäë¿¿äýýñ ºíäºð çýðýãëýëòýé ¿éëäýë þì. Èéìä :  ++p->Age èëýðõèéëëèéí õóâüä p çààã÷èéí óòãà áèø, Age õóâüñàã÷èéí óòãà ººð÷ëºãäºíº.  Õàðèí (++p)->Age èëýðõèéëëèéí õóâüä p çààã÷èéí óòãà íýìýãäýíý. 6
  • 7. Æèøýý #include <stdio.h> struct Instit { char *depart; int Total; char *depart1; int Total1; }stand = {“Ïðîãðàìì õàíãàìæ”, 23400, “Òåõíèê õàíãàìæ”, 4500 }; int Sum(dep_num) struct Instit *dep_num; { return (dep_num->Total + dep_num->Total1); } main() { printf(“Total: %d”,Sum(&stand)); } 7
  • 8. Îëîí õýìæýýñò ìàññèâ áà çààã÷  Ñè õýëýíä 2 õýìæýýñò ìàññèâûã íýã õýìæýýñò ìàññèâóóäûí ìàññèâ áàéäëààð ä¿ðñýëäýã. Òèéìýýñ ìàññèâò çààã÷ àøèãëàí õàíäàõäàà äàðààõ áàéäëààð õàíääàã.  *(A+i) áîë i-ð ìºðèéí ýõíèé ýëåìåíòèéí õàÿã  *(A+i)+j áîë i-ð ìºðèéí j-ð ýëåìåíòèéí õàÿã  *(*(A+i)+j) áîë i-ð ìºðèéí j-ð ýëåìåíòèéí óòãà 8
  • 9. Îëîí õýìæýýñò ìàññèâ áà çààã÷  ªºðººð õýëáýë äàðààõ áè÷ëýã¿¿ä àäèë ÷àíàðòàé .  &A[i][j] == *(A+i)+j  A[i][j] == *(*(A+i)+j)  A[i] == &A[i][0]  A[i][0] == *A[i]  A[i][j] == *(A[i] + j) 9
  • 10. Îëîí õýìæýýñò ìàññèâ áà çààã÷  Æèøýý : 2 õýìæýýñò ìàññèâûã õýâëýõ for(i=0;i<10;i++) { for(j=0;j<10;j++) printf(“%d ”, *(*(A+i)+j)); printf(“n”); }  Æèøýý : 2 õýìæýýñò ìàññèâò óòãà îëãîõ for(i=0,k=0; i<10; i++) for(j=0; j<10; j++) *(*(A+i)+j)=k++; 10
  • 11. Çààã÷èéí çààã÷  Çààã÷èéã çààõ õóâüñàã÷èéã çààã÷èéí çààã÷ ãýíý. ªºðººð õýëáýë çààã÷ îáüåêòûã çààäàã õóâüñàã÷ þì.  Èéì õýëáýðèéí çààã÷èéã îëîí õýìæýýñò ìàññèâ áà ìºð òýìäýãòèéí õóâüä õýðýãëýõýä òîõèðîìæòîé áàéäàã. 11
  • 12. Õºðâ¿¿ëýëò õèéõ Äýýðõ áè÷ëýãèéã àøèãëàí òºðºëò áèø p çààã÷ äýýð õºðâ¿¿ëýëò õèéâýë :  int òºðëèéí çààã÷ áîëãîõ (int *)p  int òºðëèéí çààã÷ áàéäëààð õàíäàæ óòãûã óíøèõ *(int *)p  double òºðëèéí çààã÷ áàéäëààð õàíäàæ óíøèõ *(double *)p 12
  • 13. Æèøýý #include <stdio.h> char c[12]="ababababab"; int i=10; void *p1=(void *)c; main() { for(i=0;i<3;i++) { printf("%c ",*(char *)(p1)); (long *)p1=(long *)p1+1; /* ((long *)p1) ++ */ } } /* ¯ð ä¿í íü : a a a */ 13 char òºðëèéí çààã÷ áàéäëààð õàíäàõ long òºðëèéí çààã÷ààð õàíäàæ çààã÷èéã øèëæ¿¿ëýõ
  • 14. Ôóíêö ðóó õàÿãààð äàìæóóëàõ  Æèøýý : A[N] ìàññèâûí MAX ýëåìåíòèéã ìàññèâûí òºãñãºëä àâàà÷. #include<stdio.h> Swap(int *p1, int *p2) { int tmp; tmp=*p1; *p1=*p2; *p2=tmp; } main() { int A[10]={4,2,5,1,3,1,3,6,2,1}, n=10, i; for(i=0;i<n-1;i++) if(A[i]>A[i+1]) Swap(&A[i], &A[i+1]); printf(“MAX=%d”,A[n-1]); } 14
  • 15. Ôóíêöèéí çààã÷  Ñè õýëýíä ôóíêöèéã äóóäàõ 2 àðãà áàéäàã.  Øóóä äóóäàõ  Øóóä áóñ äóóäàõ  Áèä ºìíº íü ôóíêöèéã øóóä äóóäàæ áàéñàí . ª.õ øóóä íýðýýð íü õàíäàæ äóóäíà. int Sum(int x,int y) { . . . } main() { Sum(5,6); /* Øóóä íýðýýð íü äóóäàõ */ } 15
  • 16. Ôóíêöûí çààã÷  Ôóíêöèéã øóóä áóñààð äóóäàõäàà ôóíêöèéí çààã÷ ãýæ íýðëýãäýõ çààã÷ õóâüñàã÷èéã àøèãëàäàã.  Ôóíêöèéí çààã÷èéã çàðëàõ : <Áóöààõ òºðºë> (*<ÔóíêöèéíÍýð>)(<Òºðºë>, ..);  Øóóä áóñààð äóóäàõ ãýæ áàéãàà ôóíêöûí çàðëàëò ÿìàð áàéíà, ÿã òèéì áàéäëààð çàðëàäàã. 16
  • 17. Ôóíêöûí çààã÷  /* int ºãºãäºë áóöààäàã, àðãóìåíòã¿é ôóíêöèéã äóóäàõàä àøèãëàõ ôóíêöèéí çààã÷ */  int (*func)();  Óòãà îëãîõäîî :  <Ôóíêöèéí çààã÷>=&<Ôóíêö>;  Àæèëëóóëàõäàà áóþó äóóäàõäàà :  <Ôóíêöèéí çààã÷>( [àðãóìåíòóóä] ); 17
  • 18. Ôóíêöûí çààã÷  Æèøýý : 2 òîîíû íèéëáýð îëîõ #include<stdio.h> int Sum(int a,int b) { return (a+b); } main() { int (*func)(int,int); func=&Sum; printf("%d", func(5,3)); /* 8 */ } 18 Çàðëàõ Óòãà îëãîõ áóþó çààëãàõ Ôóíêö äóóäàõ
  • 19. Çààã÷ áà ìàññèâ  Ìàññèâûí ýõíèé ýëåìåíòèéí õàÿã íü ìàññèâûí íýð áàéäàã.  Íýã õýìæýýñò ìàññèâ ñàíàõ îéä äàðààëæ áàéðëàäàã. À Ìàññèâûí 0-ð ýëåìåíòèéí õàÿã áóþó &À[0] A+1 1-ð ýëåìåíòèéí õàÿã áóþó &A[1] A+2 2-ð ýëåìåíòèéí õàÿã áóþó &A[2] A+3 3-ð ýëåìåíòèéí õàÿã áóþó &A[3] . . . A+i i-ð ýëåìåíòèéí õàÿã áóþó &A[i] 19
  • 20. Çààã÷ áà ìàññèâ 20  Ýíäýýñ ìàññèâûí ýëåìåíòýä õàíäàõäàà äàðààõ 2 àðãààð õàíäàæ áîëîõ íü õàðàãäàæ áàéíà.  A[i]=10; ýñâýë *(A+i)  A[50] Ìàññèâûã õýâëýâýë : for(i=0; i<50; i++) printf(“%d n”, *(A+i)); À ìàññèâûí ýõëýëèéí õàÿãààñ ýõëýí i-ð ýëåìåíòèéã óíøèõ
  • 21. Æèøýý #include<stdio.h> #include<stdlib.h> int a[10],i,min; main() { for(i=0;i<10;i++) *(a+i)=random(100); min=*a; for(i=1;i<10;i++) if(min>*(a+i)) min=*(a+i); printf(" MIN = %d n",min); } 21
  • 22. Çààã÷ áà ìàññèâ  Ýíý á¿õíýýñ ä¿ãíýæ ¿çâýë ìàññèâûí íýð áîë çààã÷ õóâüñàã÷ áîëæ áàéíà.  Áèä a[i] ìàññèâûí ýëåìåíòýä èíãýæ õàíääàã.  Òýãâýë [ ] ¿éëäýë ìààíü à õàÿãààñ ýõëýí i -ð øèëæèëòýä áóé îáüåêòûí óòãûã àâäàã ¿éëäýë áîëæ áàéíà. int i=259; char *p=&i; printf(" p[0] = %d ",p[0]); /* 3 */ printf(" p[1] = %d ",p[1]); /* 1 */  ª.õýëáýë *(p+1) = p[i] ¿éëäë¿¿ä èæèë ¿ð ä¿íòýé. 22
  • 23. Æèøýý : [ ] ¿éëäýë #include <stdio.h> char c[12]="ababababab"; int i=10; void *p1=(void *)c; main() { clrscr(); for(i=0; i<12; i+=2) printf("%c ",((char *)p1)[i]); } /* ¯ð ä¿í íü : a a a a a */ 23