Advertisement

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ (ΕΚΤΥΠΩΣΗ)

Teacher & Manager at Δημήτρης Ψούνης - Υπηρεσίες Εκπαίδευσης
Jan. 24, 2016
Advertisement

More Related Content

Slideshows for you(20)

Advertisement

More from Dimitris Psounis(20)

Recently uploaded(20)

Advertisement

Η ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 8 - ΔΕΙΚΤΕΣ (ΕΚΤΥΠΩΣΗ)

  1. H C 8: . 1. 2. 3. 4. ( &) 5. ( *) 6. . 1. 2. 3. ! 4. " # $ % % &. $ 1. $ 2. $ 3. $ ' . 1. 2. $ NULL A. 1. ! " # $ $ % ! ! &" " ' ! . " ' ( ) "'!! " % " " ( " $ $ ' & . ) ( " 1 byte ($ $ 8 bits). ' " ( " , ' ' ! & " *& ( '! $ " ). # " ' ' ! , ' ' ! & " , ' '! 1 byte: 1Byte 0 … 1 2 1000 1001 … 10000 10001 … 2x109 1Byte 1Byte 1Byte 1Byte 1Byte 1Byte 1Byte A. 1. ! " + $ " " ' $ ( " , ( . - " " " , $ " ( ! , ' " " . # " ! $ ! main " " ' ! . ('" & f), ! & " " (" " " ' ( " . / ( $ " ! ! & '" ' , ' ( ,' 0 ! " " , ! & " . .) … 1000 1001 … 15448 15449 … 1002 (! f (! main …… …
  2. A. 1. ! " - $ ( , ' " " " , ! & " '! ( " " ! " , . # " . . f $ ( " ( $ &" , ( $ ' , ' , '" & x y ( & ' , $ " 4 bytes & " 0 " " ! ) 1 * … 1014 1015 … (! f (! main … … 1016 1017 1057 1058 1059 1060 … x y … …… A. 1. ! " ! # " ! . x=1 y=5 ' ( " " "( f, " , ' " ' . / " " $ $ " " & ( ( $ $ %' ! % ! . . 0 , " , " & $ $ $ ' : $ $ ' & (! *' " bytes $ " " ) ( byte " ' . . . x *' & ' 1 byte 1014, ( * !& ' " bytes 1014-1017. … 1014 1015 … (! f (! main … … 1016 1017 1057 1058 1059 1060 … x y … …… 1 5 A. 2. # " # " , ' ' " , , ' ' ( " ( " '! , " bytes) ! & " $ " 1 byte $ " . " ! & $ " ' , & " " "$ " C. 2 ! $ ! $ (" , " $ " , ! … 1014 … (! f (! main … … 1057 … x y … …… 1 5 A. 2. # ( $ (" , ('" & ptr) " . . $ " , x. , , & $ " & , ( 0 $ : $ ptr ' & $ " , x. 3 ' ! ! , $ ptr $ " , x … 1014 … (! f (! main … … 1057 … ) % x ptr … …… 1 1014
  3. A. 3. / " # # $ $ ( $ &" : ( ' $ «/ _ » $ " , $ $ ' & «1 _ $ ' & » $ ! : +$( $ ( ' $ " ' p. +$( $ ( ' $ " double ptr " (" ' $ ' $ $ ' & . $ , ' $ " . / $ $ ' & " , (int *) (double *) " " $ (" $ . _ * _ int *p; double *ptr; A. 4. $ " 1 " $% ' ' $ ' " " " , , & ' , $ " , . ! * : / " & ( $ , 0 «$ " ») " , " '% $ " . 2 : x ' . . " $ " 10333, &x ($ " x) 10333, p " 10333. int x; int *p; p=&x; // p x. A. 5. $ " 1 '"& (/ " *) $$ / " * ( 0 " ' " $ " $ " ) ' $ " : + $ ( $ (" , $ . $ " * : " , , * " ' $ , % " " , $ $ . 4 ' $ ! : $ ! , " ' $ ! ' ", " " , x: x ( " ", " ) '"& $ $ " x (' " ", " ) int x; int *p; p=&x; *p=5; // *p ( x) 5 A. 6. $ ! 5 " ( $ ! & " , '" ! : /* pointers.c: Deixnei tin vasiki xrisi twn deiktwn */ #include <stdio.h> main() { int x; int *ptr; ptr=&x; x=5; printf("x=%dt *ptr=%dt &x=%dt ptr=%d",x,*ptr,&x,ptr); *ptr=8; printf("nx=%dt *ptr=%dt &x=%dt ptr=%d",x,*ptr,&x,ptr); x=9; printf("nx=%dt *ptr=%dt &x=%dt ptr=%d",x,*ptr,&x,ptr); }
  4. 4. 1. 1 - $ / $ " " " $ " ! " , $ *’ " ' $ $ $ ' & $ $ ' & . " " ' $ $ * . & " ' $ $ " * : / $ $ " ( ' . / $ ptr * ! (" $( " , $ $ " ( " " " " ! & 0 ( . ptr=&pinakas[0] int pinakas[100]; int *ptr; ptr=pinakas; int pinakas[100]; int *ptr; ptr=&pinakas[0]; 4. 2. " " $ 8, $ " " $ $ ' '" . #% " ( $ " (" . + $ $ &" : ! ' 4 $ $ ( '" & " & 0 ' &pin[0],&pin[1],&pin[2],&pin[3] $ " & 4 , ( . 1 ! $ % $ & , ' ' " $ $ ' '" . int pin[4]; (! pin[0] pin[1] pin[2] … pin[3] … 4. 2. " " $ ! & " , '" " ! : /* matrix_pointers.c: Deixnei oti oi theseis mnimis enos pinaka einai diadoxikes */ #include <stdio.h> #define N 4 main() { int pin[N]; int i; for (i=0; i<N; i++) printf("nStoixeio:%d, Diefthinsi Thesis Mnimis: %d",i, &pin[i]); } 4. 3. ( $! ! " . / $ ' $ ' " (" $ $ " " $ " : #" & ! : * $ 1! * $ " bytes " $ $ ' & $ (! ' : 4!). + ( : ( $ " bytes " $ $ ' & $ (! ' : 4!). int pinakas[100]; int *ptr; ptr=pinakas; ptr--; ptr++;
  5. 4. 3. ( $" 1 & ! $ & $ '* " '"& , $ ’ !/* pointer_calc.c: Pws exoume prosvasi sta stoixeia enos pinaka mesw deikti */ #include <stdio.h> #define N 10 main() { int pin[N]; int i; int *ptr; ptr=pin; for (i=0; i<N; i++) { printf("nStoixeio:%d, Diefthinsi Thesis Mnimis: %d",i, ptr); ptr++; } } 4. 3. ( $ ( % " , ! ", " " " ! ! & $ ! " % !' $ . $ & ' $ ! : ptr+=2 * " ptr 2 x ( '! double), * " $ " 16, % double , $ " 8 bytes. ' ' " ( & ( $ ptr $ " " pinakas[2]. double pinakas[100]; double *ptr; ptr=pinakas; ptr+=2; 4. 4. 6" $ , " ! ", " " $# , " $ ( , " " : * ! & * : 1 (array+2) $ $ " 3 " . 2 * " , $ 3 " . # " ! $ ! , : ! % " $ : *(array+2) for (i=0; i<N; i++) printf("%d",array[i]); for (i=0; i<N; i++) printf("%d",*(array+i)); . " 1. ' " " " % " ! ' $ $& " , (" $ " , ( ), ' $ & " & " " " " . . . 1 & " " : ' & " $ ! : # $ " ' ( p) ' ' ( x) , , & " " " % ' $ " , . 1 & ' " " : - " "( " " 0 " '% ' $ " ' , . $ %' ; 7 / ! 1 & , ( '"& , '"& $ ) " ' ! " ' ' C! int func(int *p, int x) int *func2(float y)
  6. . " 2. ' " / " " " '"& 1 $ 6 « " », $ " " ' $ ( , ( " . " ! $ ' ' ! . /*byvalue.c: Perasma orismatwn mesw timis */ #include <stdio.h> void swap(int a,int b); main() { int a=5,b=10; printf("nMain: a=%d,b=%d",a,b); swap(a,b); printf("nMain: a=%d,b=%d",a,b); } void swap(int a, int b) { int k; k=a; a=b; b=k; printf("nSwap: a=%d,b=%d",a,b); } . " 2. ' " / " " " '"& 1 & $ ! . " " " swap, , ' a b ' ' a=5 b=10. ( ! " swap, " a, b " " swap ' " ' 5 10. : % " ' swap, 0 ' & a b " swap, $ ' ' , ' " swap & a,b " main $ 0 ! : a b … (! main 5 (! swap a b 510 10 a b … (! main 5 (! swap a b 1010 5 . " 2. ' " / " " " '"& 1 , " '"& , ( , !' ! " , ' $ & " , $ * % " ' ! ! " '. " " " " . ! " ' " " " " '! $ ' " " " " " '"& (by value) ' " " " ' " ' , $ , . + % ' " " " 0 , '" " " " «$ » " " " . $ ! " ' " " " " , '! $ ' " " " " " '"& % (by reference) & $ " " ' $ $ & " , , $ " , ! . " 3. ' " / " " " '"& % 2 " " & * : /*byreference.c: Perasma orismatwn mesw anaforas */ #include <stdio.h> void swap(int *ptrA, int *ptrB); main() { int a=5,b=10; printf("nMain: a=%d,b=%d",a,b); swap(&a,&b); printf("nMain: a=%d,b=%d",a,b); } void swap(int *ptrA, int *ptrB) { int k; k=*ptrA; *ptrA=*ptrB; *ptrB=k; printf("nSwap: a=%d,b=%d",*ptrA,*ptrB); }
  7. . " 3. ' " / " " " '"& % 8 $ & $ ! . " " " swap, , ' a b ' ' a=5 b=10. '" $ " a 1000 b 1012. &a, ! 0 " 1000, ( &b ! 0 " 1012. ( 0 ' " swap : a b … (! main 5 (! swap ptrA 10 a b … (! main 5 (! swap 100010 1000 1012 ptrB 1000 1012 ptrA ptrB 1012 . " 3. ' " / " " " '"& % ! $ ( ' ' " swap: k=*ptrA; // ' " , k , $ ptrA *ptrA=*ptrB; ' " , $ ptrA $ ptrB *ptrB=k; ' " , $ ptrB k a b … (! main 5 (! swap 100010 1000 1012 ptrA ptrB 1012 k 5 a b … (! main 10 (! swap 100010 1000 1012 ptrA ptrB 1012 k 5 a b … (! main 10 (! swap 10005 1000 1012 ptrA ptrB 1012 k 5 . " 3. ' " / " " " '"& % " 1 : - ' " " " " $ , ' main! 2 ! ! , !' " , ' ' " main! . 0 : ' * , " " " ' " $ " " " " , $ " '"& % ($ $ '"& $ ) ( $ " '"& . + ' : ' "" ' " % '" . 1 ' " % ' " return '"& $ ! 9 $ " % ' '"& $ . . " 1. ' " & - " " " &" : + $ " " ' $ ' & " , ! % ' " ! &" $ " , , C $ $ : ! . & : 8 ! . & : / $ $ & " " ' $ ' " . void print(int *pinakas, int n); void print(int pinakas[], int n); , " & *’ " ' " " " " ! '"& % . 2 " $ ! ! " ' $ & " , ' " " " " . ' " ! % & " " " " , ' " " ( ' ! % .
  8. . " 2. NULL # # " " ' & " ' $ $ ' " " " , . . . ($ : 3 $ ! " "% ' " ! 1 p $ $ , '" $ 0 , , ! ' "$ " % ! ( $ ( ' $ , ' " " 0 , ' " . 3 * (" ' $ ' . ! " C " ' " , " , NULL, " " , ! ' « $ $ $ ». $ ! : int x; int *p; *p=15; int *p; p=NULL; /* O p */ +. " " 1. ! " 7 0( 4’4 +* "&" % 1. . " " : • ! 0 0 * "&" ax2+bx+c=0. " " " '% ( '"& " ) " , ' x1 x2 ! ' 0 * "&" " '% return & " & * "&" • 4 : 3 " " " : • " ' " % $ math.h • 4 : / "$ " & printf, scanf ! $ $ ' & float %f ( ! %d " ) 2. # ! . " " main, $ , 0 " $ ' & a,b,c (" " ' * "&" ) % '" " " rizes ( 0 ,’ , * "& . int rizes(float a, float b, float c, float *x1, float *x2); double sqrt(double x); +. " " 2. " init_array $ 1. . " " : void init_array(int *pinakas, int n, int a, int b) ' n & , " $ " [a..b] 2. + '!* " " " $ ! +. " " 3. " print_array + ! ! " " : 1. . " " : void print_array(int *pinakas, int n) ( & pinakas. 2. + '!* " " " $ !
  9. +. " " 4. " max_array + ! ! " " : 1. . " " : int max_array(int *pinakas, int n) " '% '! " " & pinakas 2. + '!* " " " $ ! +. " " 5. # ! 0 ! $ ! , ! . " " main : 1. 8 $ ( ' & 1000 '" & 2. '" ' , , $ 6 !' " " : 1. 8 " ! '! 2. 8 a '& b " , a b 0 " . 3. 8 , " '! " ( 4. 8 ( " 5. 8 '* $ , ,
Advertisement