II 2010 1014 http www ns kogakuin ac
- Slides: 87
プログラミング論 II 2010年 10月14日 ポインタ http: //www. ns. kogakuin. ac. jp/~ct 13140/Prog. 2010/
&演算子 void main(){ char abc, def, ghi; printf("アドレスは%p %p %pです.n", &abc, &def, &ghi); } 実行結果 アドレスは 0013 FF 7 C 0013 FF 78 0013 FF 74です. C-12
&演算子 void main(){ char abc[5]; printf("アドレスは%p %pn%p %p %pです.n", &(abc[0]), &(abc[1]), &(abc[2]), &(abc[3]), &(abc[4])); } 実行結果 アドレスは 0013 FF 78 0013 FF 79 0013 FF 7 A 0013 FF 7 B 0013 FF 7 Cです. C-13
&演算子 void main(){ int abc[5]; printf("アドレスは%p %pn%p %p %pです.n", &(abc[0]), &(abc[1]), &(abc[2]), &(abc[3]), &(abc[4])); } int型は 4バイト 実行結果 アドレスは 0013 FF 6 C 0013 FF 70 0013 FF 74 0013 FF 78 0013 FF 7 Cです. C-14
配列とアドレス(ポインタ) void main(){ char abc[5]; printf("アドレスは%p %pn%p %p %pです.n", &(abc[0]), &(abc[1]), &(abc[2]), &(abc[3]), &(abc[4])); } 実行結果 アドレスは 0013 FF 78 0013 FF 79 0013 FF 7 A 0013 FF 7 B 0013 FF 7 Cです. C-35
配列とアドレス(ポインタ) void main(){ int abc[5]; printf("アドレスは%p %pn%p %p %pです.n", &(abc[0]), &(abc[1]), &(abc[2]), &(abc[3]), &(abc[4])); } 実行結果 アドレスは 0013 FF 6 C 0013 FF 70 0013 FF 74 0013 FF 78 0013 FF 7 Cです. C-36
ポインタ演算 char ch[10]; char *p; p = ch; printf("%pn", p); p++; printf("%pn", p); 実行結果 0013 FF 74 0013 FF 75 C-39
関数の仮引数と実引数(値渡し) void func(int a){ a = 7; } x void main(){ int x = 3; func(x); printf("%dn", x); } 100 番地 3 C-54
関数の仮引数と実引数(値渡し) void func(int a){ a = 7; } x void main(){ int x = 3; func(x); printf("%dn", x); } 100 番地 3 C-55
関数の仮引数と実引数(値渡し) void func(int a){ a = 7; } x void main(){ int x = 3; func(x); printf("%dn", x); } 実行結果 3 100 番地 3 C-58
関数の仮引数と実引数(参照渡し) void func(int *p){ *p = 7; } void main(){ int x = 3; int *px; px = &x; func(px); printf("%dn", x); } x px 100 番地 104 番地 3 C-60
関数の仮引数と実引数(参照渡し) void func(int *p){ *p = 7; } void main(){ int x = 3; int *px; px = &x; func(px); printf("%dn", x); } x px 100 番地 104 番地 3 100 番地 C-61
関数の仮引数と実引数(参照渡し) void func(int *p){ *p = 7; } void main(){ int x = 3; int *px; px = &x; func(px); printf("%dn", x); } x px 100 番地 104 番地 3 100 番地 C-62
関数の仮引数と実引数(参照渡し) void func(int *p){ *p = 7; } void main(){ int x = 3; int *px; px = &x; func(px); printf("%dn", x); } x px p 100 番地 104 番地 108 番地 3 100 番地 番地 C-63
関数の仮引数と実引数(参照渡し) void func(int *p){ *p = 7; } void main(){ int x = 3; int *px; px = &x; func(px); printf("%dn", x); } x px p 100 番地 104 番地 108 番地 7 100 番地 番地 C-64
関数の仮引数と実引数(参照渡し) void func(int *p){ *p = 7; } void main(){ int x = 3; int *px; px = &x; func(px); printf("%dn", x); } 実行結果 7 x px 100 番地 104 番地 7 100 番地 C-65
void main(){ 練習 0 int i, *j, k; i = 3; j = &i; k = i; *j = 4; k = 5; printf("i=%dn", i); } C-66
void main(){ 練習 1 int i[2], *j; i[0]=3; i[1]=7; j=i; j++; printf("%dn", *j); } C-67
void main(){ 練習 2 int i[2], *j; i[0]=3; i[1]=7; j=i; (*j)++; printf("%dn", *j); } C-68
応用例: 値を 2個返す関数 C言語では,戻り値は 1個しか用意できない. void sq_cu(int n, int *ps, int *pc){ *ps = n*n; *pc = n*n*n; squareが100番地, } cubeが104番地で void main(){ あったとする. int square, cube; sq_cu(3, &square, &cube); printf("%d %dn", square, cube); } C-77
応用例: 値を 2個返す関数 C言語では,戻り値は 1個しか用意できない. void sq_cu(int n, int *ps, int *pc){ *ps = n*n; nが3, *pc = n*n*n; psが100番地, pcが104番地として } 関数sq_cuを開始. void main(){ int square, cube; sq_cu(3, &square, &cube); printf("%d %dn", square, cube); } squareが100番地, cubeが104番地であったとする.C-79
応用例: 値を 2個返す関数 C言語では,戻り値は 1個しか用意できない. void sq_cu(int n, int *ps, int *pc){ *ps = n*n; 実行結果 *pc = n*n*n; 9 27 } void main(){ int square, cube; sq_cu(3, &square, &cube); printf("%d %dn", square, cube); } squareが100番地, cubeが104番地であったとする.C-82
復習 i void main(){ int i=10, j=11; 104番地 int *p; の中身 p=&j; printf("*p=%dn", *p); *p=7; printf("i=%d j=%d", i, j); } 104番地 の中身 j p 100 104 108 番地 番地 番地 10 11 104 10 7 104 *p=11 実行結果 i=10 j=7 C-84
練習 3 void main(){ int x=10, y=11, z=12; int *p; printf("x=%d y=%d z=%dn", x, y, z); p=&x; *p=5; printf("x=%d y=%d z=%dn", x, y, z); p=&y; *p=6; printf("x=%d y=%d z=%dn", x, y, z); p=&z; *p=7; printf("x=%d y=%d z=%dn", x, y, z); } 何と表示される? C-85
練習 4 void main(){ 何と表示される? int x[3]; int *p; x[0]=10; x[1]=20; x[2]=30; printf("x[0]=%d x[1]=%d x[2]=%dn", x[0], x[1], x[2]); p=x; /* p=&(x[0]) の意味 */ *p=7; printf("x[0]=%d x[1]=%d x[2]=%dn", x[0], x[1], x[2]); p++; *p=6; printf("x[0]=%d x[1]=%d x[2]=%dn", x[0], x[1], x[2]); p++; *p=5; printf("x[0]=%d x[1]=%d x[2]=%dn", x[0], x[1], x[2]); } C-87
練習 5 void main(){ 何と表示される? int x[3]; int *p; x[0]=10; x[1]=20; x[2]=30; printf("x[0]=%d x[1]=%d x[2]=%dn", x[0], x[1], x[2]); p=x; /* p=&(x[0]) の意味 */ *p=7; printf("x[0]=%d x[1]=%d x[2]=%dn", x[0], x[1], x[2]); (*p)++; printf("x[0]=%d x[1]=%d x[2]=%dn", x[0], x[1], x[2]); *p=6; printf("x[0]=%d x[1]=%d x[2]=%dn", x[0], x[1], x[2]); } C-89
- Basic instructor course tcole
- Basic instructor course texas
- Basic instructor course #1014
- Tcole 1014 basic instructor course
- Tcole basic instructor course
- Vision de un negocio de comidas rapidas
- Basic instructor course texas
- Flower basics
- Https //sciencespot.net answers
- Http //mbs.meb.gov.tr/ http //www.alantercihleri.com
- Http //pelatihan tik.ung.ac.id
- Amc8 2002
- Excel 2010 kullanımı
- 2010 pearson education inc answers
- Struktur gigi kadal
- Somatosensory association cortex
- Modified penn state equation 2010 calculator
- Lth julkalender 2010
- Organelo
- 2010 pearson education inc answers
- Censo da educação superior 2010
- Vb 2010 express
- Clark 1986 model of panic
- Ssxx ssyy and ssyy calculator
- Poema narrativo
- Sasrea act 2 of 2010
- 2010 lys sonuçları
- Customer experience management conference 2011
- Orden 5958
- Cost of visual studio
- Excel 2010
- Excel 2010 kullanımı
- Visual basic 2010 express
- Gph pharmacy
- Microsoft lync 2010 attendee
- ربط gmail مع outlook 2010
- Earth science sol 2010
- Comparative advantage frq
- Castelln
- Lan 2010
- Irizar 2010
- Esa transmission programme
- Esr 2010
- Nnnn 2010
- Copyright 2010 pearson education inc
- 2010-1992
- 7/10/2010
- 2010 pearson education inc
- Pn-en 14351-1+a1:2010
- Alabama course of study math 2010
- December 2010 movies
- Program pengolah angka
- Agl innovaciones
- Pearson education inc. all rights reserved
- Pas 2015 2010 and iso 22301
- Copyright 2010 pearson education inc
- 2010 horoskop
- Microsoft lync 2010 attendee
- Ul 2010
- Solver excel 2007
- çağatay ulusoy freundin
- Owasp top 10 2007
- Perbedaan incoterms 2000 dan 2010
- Osterwalder & pigneur 2010
- Sony 2010
- Pipp maksud sekolah kebangsaan
- Türkiye cumhuriyeti mührü
- 2010 cengage learning
- ösym 2010 ygs sonuçları
- Astro 2010
- Ens 2010
- Fossen 2010
- 2010 pearson education inc
- 2010
- Sharepoint 2010 migration best practices
- Dm 249 2010
- Income statement example pearson
- Pearson
- Goal seek automates the trial-and-error
- Computers 2010
- Variazioni finanziarie attive
- Semeval-2010 task 8
- Salesforce plugin for outlook 2010
- 2010 pearson education inc
- Microsoft project 2010 tutorial
- Pp 53 tahun 2010
- Hands up 2010
- Tpe 2010