C语言学习笔记2C语言学笔记2.doc

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

Day06 指针 指针的基本概念 ①.变量与地址 ②.指针与指针变量 1.指针:某个对象所占用的存储单元的首地址。 2.指针变量 :专门存放变量地址的变量。 ③.直接访问与间接访问 1.直接访问: 2.间接访问: 指针变量的定义和引用 ①.定义: 基类型 *指针变量名; 如: int *p1,*p2; 注:1.只能存放地址,不能赋值,0(NULL)除外; 2.初值:变量名 数组元素 和 数组名 ②.引用:*pa ,a -值 ; a ,pa-地址 [root@localhost C]# cat 32.c 33.c #includestdio.h void main(){ int a=1,b=2,t; int *pa=a,*pb=b; t=*pa;*pa=*pb;*pb=t; printf(a=%d,b=%d,a,b); printf(*pa=%d,*pb=%d,*pa,*pb); } #includestdio.h void main(){ int a=1,b=2; int *pa=a,*pb=b,*t; t=pa;pa=pb;pb=t; printf(a=%d,b=%d,a,b); printf(*pa=%d,*pb=%d,*pa,*pb); } [root@localhost C]# ./test32 a=2,b=1*pa=2,*pb=1 [root@localhost C]# ./test33 a=1,b=2*pa=2,*pb=1 ③.算术运算 ④.函数的参数 [root@localhost C]# cat 34.c #includestdio.h void main(){ void swap(int *pa1,int *pb1); int a,b;int *pa,*pb; scanf(%d,%d,a,b); pa=a;pb=b; swap(pa,pb); printf(%d,%d\n,a,b); } void swap(int *pa1,int *pb1){ int t; t=*pa1;*pa1=*pb1;*pb1=t; } 指针与一维数组 ①.通过指针变量引用数组元素 如: int a[10]={1,2,3,4,5,6,7},*p; p=a[5]; Printf(“%d”,*p);// 6 注:指针变量可以存放数组的起始地址 如: int a[10]; Int *pa; pa=a; // 等价于pa=a[0] 牢记:a[i]==pa[i]==*(pa+i)==*(a+i) 例:(指针法) 12345[root@localhost C]# ./test35 1 3 4 5 7 13457[root@localhost C]# cat 35.c #includestdio.h void main(){ int a[5]; int *p=a; int i; for(i=0;i5;i++) scanf(%d,p+i); for(i=0;i5;i++) printf(%d,*(p+i)); } (指针移动法) [root@localhost C]# ./test35 1 2 3 6 5 12365[root@localhost C]# cat 35.c #includestdio.h void main(){ int a[5]; int *p=a; for(;pa+5;p++) scanf(%d,p); for(p=a;pa+5;p++) printf(%d,*p); } 指针与二维数组 指针与字符串 指针与函数 二级指针与指针数组

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档