- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指标的宣告及给值.ppt
P. * Pointer(指標) 指標的宣告及給值 宣告: 型態 *指標變數名稱 給值: 指標變數=一般變數位址 宣告時給值: 型態 *指標變數=一般變數位址 #include stdio.h void main() { int a=5; int *p; int *q=a; p=a; printf(“a=%d \t %d \t %d \n”,a,*p,*q); /*5,5,5 */ } (1) 指標變數 p 內裝的是a的位址 (2) *p 表示 a 的內容(值) 5 a pP :*p: 5 指標(Pointer) 指標與數值陣列: #include stdio.h void main() { int a[5]={1,3,5,7,9}; int *p,*q; int i; p=a; q=a[0]; for (i=0;i=4;i++) printf(“a=%d \t %d \t %d \t %d \n”,a[i],*(p+i),*(q+i),*(a+i)); // *p+1 與 *(p+1) 不同值 } a 表示 a[0] 的位址 a+1 表示 a[1]的位址 p , a, a[0] 均表示 a[0]的位址 p+1, a+1, a[1]均表 a[1] 之值 *p, a[0], *a 均表 a[0] 之值 *(p+1), a[1], *(a+1) 均表 a[1] 之值 指標與數值陣列: #include stdio.h void main() { int a[5]={1,3,5,7,9}; int *p,*q; int i; p=a; q=a[0]; for (i=0;i=4;i++) printf(“a=%d \t %d \t %d \t %d \n”,a[i],*(p+i),*(q+i),*(a+i)); // *p+1 與 *(p+1) 不同值 } 指標與數值陣列:(利用指標輸入每日溫度並求平均值後印出) #include stdio.h #include conio.h void main() { /* example for pointer and one dimentional integer array */ float temp[40]; int num,day=0; float sum=0.0; clrscr(); /* input temp array untial negative value */ do { printf(Enter temperature for day %d: ,day); scanf(%f,temp+day); } while ( *(temp+day++)0) ; num=day-1; clrscr(); /* make sum for the array elements */ for (day=0;daynum;day++) sum+=*(temp+day); printf(average is: %.1f\n,sum/num); } 變數前加上*表示指向之意,如 int *ip 表示 ip 之內容為一個整數變數之位址值。 void 指標型別:所定義之 pointer 能用來指各種型別。 pointer 本身也是變數,也有自己的位址,也可以讓一個 pointer 指向另一 pointer 。 void *p, *q; int i=36; double d=1.22; p=i; q=d; int I=5, *p=I; int *q=p i 5 0010 p 0010 0020 q 0020 0030 陣列與 pointer 的差異: 當我們定義陣列時,C 會配置一塊連續的記憶體位置給此陣列,而陣列名稱即代表 這塊記憶體的起始位址,我們不能更改它的值。 當我們定義一個 pointer 時,C 會配置一塊足以容納位址值的記憶體給它,在使用 指標前一定要先存入適當的位址值,來使其指向正確的記憶體位置,所以我們可 以任意更改 pointer 的值。 #include stdio.h #include conio.h void swap(int *first, int *second); void main() { int a=50,b=100; clr
您可能关注的文档
最近下载
- 高职入学考试英语复习指导丛书—语法专项训练教学课件(第四章数词).pptx VIP
- 2025年秋统编版语文三年级上册全册教学课件(课标版).pptx
- 2025年最新人教版小学二年级数学上册教学计划及进度表(新课标,新教材).docx
- 小区监控系统设计方案.pptx VIP
- 丹方模拟器1.32(新增龙宫草药)(1).xlsx VIP
- 等一朵花开读书分享PPT.pptx VIP
- 2012国际严重脓毒症和脓毒症休克治疗指南(SSC)..doc VIP
- 【免费】小学一年级数学“凑十法”练习题100道 .pdf VIP
- 幼儿园装修工程实施方案(模板范文).docx
- 高中物理必修二学历案.docx VIP
文档评论(0)