int a = 123; a 123 :100 a 123 int *ptr = & a; a ptr ptr a 100 a 123 200 *ptr 200 a
& & a a * * ptr p --------------------------------------------------------------------------------------------- int a ; int *a ; int a ; int a int *a ; a a int --------------------------------------------------------------------------------------------- 20 int *pc ; pc = &a ; int a ; a = 20; 345 *pc a 20
ⅱ int pc int a pc a int a ; int *pc ; pc a pc = &a ; pc a int pc int a pc * *pc a *pc a *pc a 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include<stdio.h> int main() { int a,b; int *pc; a = 25; printf(" a :%x(16 \n\n",&a); printf(" b :%x(16 \n\n",&b); printf(" a :%d 10 \n\n",a); puts("-------------------------------------------\n"); pc = &a; b = *pc + 100; *pc = 6; puts("pc = &a\n" "b = *pc +100\n" "*pc =6\n" " \n"); printf(" pc :%x(16 \n\n",pc); printf(" b :%d 10 \n\n",b); printf(" a :%d 10 \n\n",a); return 0;
a :5fbffacc(16 b :5fbffac8 16 a :25 10 ------------------------------------------- pc = &a b = *pc +100 *pc =6 pc b a :5fbffacc 16 :125 10 :6 10 10 11 & 16 12 a 8 25 15 pc a *pc a 21 pc pc a 10 22 b b *pc +100 a+100 125 23 a *pc =a a 8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 /* */ #include<stdio.h> #include<ctype.h> void replace(char *dest,char *str); int main(int argc,char **argv){ char dest[256]={0; int i; printf(" :%d\n\n",argc); for(i=1; i<argc; i++){ replace(dest, argv[i]); // argv[i] == *(argv + i) printf(" : %s\n : %s\n\n",argv[i],dest); return 0; void replace(char *dest,char *str){ int i; for(i=0; str[i]!= NULL; i++){ if(isalpha(str[i])){ if(isupper(str[i])) dest[i] = tolower(str[i]); else dest[i] = toupper(str[i]); else dest[i] = str[i]; dest[i] = NULL;
Yukihiro-Ikehara-no-MacBook-Pro:prog1 e105746$./a.out Abc DeTrmInaNt. :4 : Abc : abc : DeTrmInaNt : detrminant :. :. i 4 ctype.h isalpha,isupper,tolwer,toupper 6 void replace char *dest, *str 8 19 int main int argc char argv main 2 9 char dest 256 0 12 argc argc 14 17 main for i 1 i argc i +1 16 replace dest argv[i] 17 dest argv[i] 21 40 replace void str for
./a.out Abc DeTrmInaNt. argc argv argv[] argv argv[0]. / a. o u t NULL argv[1] A b c NULL argv[2] D e T r m I n a N t NULL argv[3]. NULL 1 replace argv[0] 2 argv[1]... n argv[n] argv [] NULL 3 replace replace main *dest,*str *str 1 dest NULL main main for i 0./a.out
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 /* */ #include<stdio.h> void reverse(char *dest,char *str); int main(int argc,char **argv){ char dest[256]={0; int i; printf(" :%d\n\n",argc); for(i=1; i<argc; i++){ reverse(dest, argv[i]); printf(" : %s\n : %s\n\n",argv[i],dest); return 0; void reverse(char *dest,char *str){ int i,kiri; for(kiri = 0; str[kiri]!= NULL; kiri++); for(i=0; i<kiri; i++) dest[i]=str[kiri-i-1]; dest[i]=null;
Yukihiro-Ikehara-no-MacBook-Pro:prog1 e105746$./a.out God of eater. :5 : God : dog : of : fo : eater : retae :. :. < main reverse 20 28 14 reverse 20 char *dest *str 14 dest argv[i] for 22 reverse int i,kiri 24 for argv[i] kiri Kiri argv[i] argv[i] God kiri 25 26 argv[i] kiri dest[0] = str[2] dest[1] = str[1] dest[2] = str[0] dest argv[i]
28 dest[i] argv[i] reverse dest str main reverse argv[1] str[0] str[1] str[2] G o d dest[0] dest[1] dest[2] d o G ---------------------------------------------------------- argv[2] str[0] str[1] o f dest[0] dest[1] f o ----------------------------------------------------- argv[3] str[0] str[1] str[2] str[3] str[4] e a t e r
argv[3] dest[0] dest[1] dest[2] dest[3] dest[4] r e t a e ----------------------------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include<stdio.h> void reverse(char *dest,char *str); int main(int argc,char **argv){ char dest[256]={0; int i; printf(" :%d\n\n",argc); for(i=1; i<argc; i++){ reverse(dest, argv[i]); printf(" : %s\n : %s\n\n",argv[i],dest); return 0; void reverse(char *dest,char *str){ int i,kiri; for(kiri = 0; str[kiri]!= NULL; kiri++); for(i=0; i<kiri; i++) dest[i]=str[kiri-i-1]; Yukihiro-Ikehara-no-MacBook-Pro:prog1 e105746$./a.out God of eater :4 : God : dog : of : fog : eater : retae reverse dest[i] = NULL; of G
reverse argv[1] str[0] str[1] str[2] G o d dest[0] dest[1] dest[2] d o G ---------------------------------------------------------- argv[2] str[0] str[1] o f G arg1 G f o G arg[3] arg[2] C