c语言程式设计--指标.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
莊臺寶編 92/09 版 C 語言程式設計 -- 指標 本章學習重點 10-1 指標的基本概念 10-2 雙重指標 10-3 指標與陣列 10-4 指標與字串 10-5 指標運算 10-1 指標的基本概念 ? 何謂指標 (pointer) ? 指標在 C 語言中代表一種變數 ? 用來存取記憶體位址,可能是字元,可能是整數型態,也 可能為指標本身變數的位址。 ? 藉由指標,程式可間接取得該指標所指位址的變數值。 ? 『 & 』與『 * 』是指標中最常見的兩種運算符號 ? 『 & 』:取得位址運算符號 ? 用來取得該變數在記憶體中的位址。 ? 『 * 』 :間接定址運算符號 ? 用來取得該指標所指向變數 ( 位址 ) 的內容值。 『 & 』運算符號的使用方法 int x = 8, *ptr; / * x 是一個整數變數,而 *ptr 是指向整數變數的內容值 */ ptr = &x; 位址 內容值 1268 8 x (1) 整數變數 x = 8 1268 ptr (2) ‘ & ' 用來取得 x 在記憶體中的位址 『 * 』運算符號的使用方法 int x = 8; ptr = &x; y = *ptr; / * 符號 * 用來取得該指標所指向 變數 ( 位址 ) 的內容值 = 8 */ 位址: 1268 8 8 ( 1 ) ( 2 ) 1268 y *ptr x 範例 Ch10_1 (1/2) Ch10_1 『 & 』與『 * 』基本搭配運用 1 #include<stdio.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) ptr = FFF4, *ptr = 15 &x = FFF4, x =15 位址: FFF4 x ptr 15 FFF4 10-1-2 指標與位址 ? 指標與位址間基本之運用 ? 以傳值呼叫 (Call by value) 為例,來說明指標如何來 傳遞資料 ? 傳值呼叫特色在於主程式呼叫副程式時,主程式 之實際參數串列的值,傳給對應的副程式形式參 數串列。 ? 副程式執行時,作業系統 額外分配記憶體位置 給 副程式的參數串列。副程式執行完畢,主程式的 參數值不變。 範例 Ch10_2(1/4) Ch10_2 傳址法的應用 1 #include<stdio.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 */ ???瀠楲瑮?硜?┠?砦?┠層湜?砠?砦? 8 printf(y = %d &y = %d\n, y, &y); 9 printf(z = x + y = %d &z = %d\n, z, &z); 範例 Ch10_2 (2/4) 11 int func(int *m, int *n) /* 將 x 的位址給 m 指標來 指向, 而 y 的位址給 n 指標 來指向 */ 12 { 13 int r

文档评论(0)

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

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

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档