何谓指标pointer.ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
何谓指标pointer

第十章 指標 10-1 指標的基本概念 何謂指標(pointer) 指標在C語言中代表一種變數 用來存取記憶體位址,可能是字元,可能是整數型態,也可能為指標本身變數的位址。 藉由指標,程式可間接取得該指標所指位址的變數值。 『』與『*』是指標中最常見的兩種運算符號 『』:取得位址運算符號 用來取得該變數在記憶體中的位址。 『*』 :間接定址運算符號 用來取得該指標所指向變數(位址)的內容值。 『』運算符號的使用方法 『*』運算符號的使用方法 範例 Ch10_1 (1/2) Ch10_1 『』與『*』基本搭配運用 1 #includestdio.h 2 void main( ) 3 { 4 int x = 15; 5 int *ptr; /*宣告ptr是一個指向整數變數的指標*/ 6 ptr = x; /*以取得x的位址,然後設定給ptr */ 7 printf(ptr = %p, *ptr = %d\n, ptr, *ptr); 8 printf(x = %p, x = %d\n, x, x); 9 } Ch10_1 輸出結果 (2/2) 程式執行結果 圖解說明 10-1-2 指標與位址 指標與位址間基本之運用 以傳值呼叫(Call by value)為例,來說明指標如何來傳遞資料 傳值呼叫特色在於主程式呼叫副程式時,主程式之實際參數串列的值,傳給對應的副程式形式參數串列。 副程式執行時,作業系統額外分配記憶體位置給副程式的參數串列。副程式執行完畢,主程式的參數值不變。 範例 Ch10_2(1/4) Ch10_2 傳址法的應用 1 #includestdio.h 2 int func(int *, int *); 3 void main( ) 4 { 5 int x = 5, y = 10, z; 6 z = func(x, y); /* 呼叫函數func( )傳入x與y的 位址值,將傳回值給z */ 7 printf(x = %d x = %d\n, x, x); 8 printf(y = %d y = %d\n, y, y); 9 printf(z = x + y = %d z = %d\n, z, z); 10 } 範例 Ch10_2 (2/4) 11 int func(int *m, int *n) /*將x的位址給m指標來指向, 而y的位址給n指標來指向 */ 12 { 13 int r; 14 r = *m + *n; 15 printf(*m = %d n = %d\n, *m, m); 16 printf(*n = %d n = %d\n, *n, n); 17 printf(“r = x + y = %d r = %d\n, r, r); 18 return(r); 19 } Ch10_2 輸出結果 (3/4) 程式執行結果 Ch10_2 輸出結果 (4/4) 圖解說明 10-2 雙重指標 何謂雙重指標 雙重指標又可以稱做指標中的指標 表示方式為: **ptr 範例 Ch10_3 (1/2) Ch10_3 雙重指標應用 1 #includestdio.h 2 void main( ) 3 { 4 int i = 5; 5 int *p1; 6 int **p2; 7 p1 = i; /*指標p1指向i的位址*/ 8 p2 = p1; /*雙指標p2指向指標p1的位址 */ 9 printf(“i = %d i = %d\n, i, i); 10 printf(*p1 = %d p1 = %d\n, *p1, p1); 11 printf(**p2 = %d *p2 = %d\n, **p2, *p2); 12 printf(p2 = %p p1 = %p\n, p2, p1); 13 } Ch10_3 輸出結果 (2/2) 程式執行結果

您可能关注的文档

文档评论(0)

sunshaoying + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档