C语言基础自学总结之四指针.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言基础自学总结之四指针

C语言基础自学总结之四:指针指针是一个变量一指针变量、类型例子1:指针类型#include stdio.hint main(void){int a;int *p=a;//取地址符,初始化表达式的意思,指针p的值为,取a的地址,printf(%ld %ld\n %ld\n,sizeof(p),sizeof(int *),sizeof(*p));//指针变量p,类型是int*,在64位系统下,所有的指针都是8字节,指针是一个变量8字节的变量,*p是int类型,为4字节。int*类型就是指针类型或者是地址类型,地址是常量,指针是变量,a就是地址类型的常量,也就是int*类型,所以可以符值给int*类型的变量*p,每一空间都有一个地址,常量是每有空间也就是没有地址的如6.说白了就是,取内存中每一块的地址(门牌号),就是地址类型。a,a指的是a这个地址(门牌号)。return 0;}例子2:指针初始化#include stdio.hint main(void){int a=2;int *p=a;//p指向a *p=8;//意思是,找到地址为a位置,从这个位置开始取,取*p个字节,得到的就是a,*p是声明的int类型,所以是4个字节。所以*p=8就相当于a=8.printf(%d\n %d\n,*p,a);return 0;}二、指针与数组例子1:#include stdio.hint main(void){int a[10]={};int*p=a;//单独的数组名a相当于其第一个元素的地址,即a=a[0]//数组名是数组的首元素地址,//上面的意思是,将a[0]的地址赋给*p,p指向a[0]的地址printf(%d\n,a[0]); *p=8;printf(%d\n,a[0]);return 0;}例子2:#include stdio.hint main(void){int a[10]={};int *p=a;inti; for (i=0; i10; i++) {//for:一种循环语句for( ; ; )里面是3个语句,两个分号。第一个语句是开始前执行,第二个语句是判断真假,如果真,就执行后面(大括号内)的代码。第三个语句是每次执行完毕后执行的东西,通常第三个语句使用i++表示i=i+1的意思,用来递增自变量i。scanf(%d,p+i);//p+i就数组每个元素的地址 }for (i=0; i10; i++) {printf(%d\n,*(p+i));//*(P+1),就是每一个数组的元素。 } p[3]=9;//p[3]就是*(p+3),[]运算赋,*(a[0]+3)=*(a+3)=*(p+3)=p[3],也是一样a[3]=3[a]=*(a+3)=*(3+a)return 0;}三、指针变量计算指针变量加1,其结果相当于加1个其指向的字节数。例子1: int*p=(int*)5; p++; p==9,#include stdio.hint main(void){int *p=(int*)5;//强制把一个常量数值变成一个int*类型。char *q=(char*)5;printf(%p\n,p+1);printf(%p\n,q+1);//打印地址用%p,打印所有的地址都数%p,//p,q是指针变量,是int*类型,+1就是,加上指向类型地址的字节数,这里指向的地址数int,char类型,为4/1个字节。return 0;}四、const关键字const :声明只读变量意思:它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助例子1:*前const#include stdio.hint main(void){char b=B;char a=A;const char *p=a;//星前const,const在*之前//char const *q=a;//星前const,表示const修饰*p,p/q可以改变,但是*p不可以改变char *q=b; a=C;//*p是不可改变的,a是可以改变的,不能写成*p=‘c’,只能通过变a来改变*p,不能通过*p来改变a,也就是不能给*p赋值来改变a *q=D;//没有const的就能直接改变*q,直接给*q赋值。printf(%c\n %c\n,*q,*p);//%c输出字符。只能通过变b来改变*p,不能通过*p来改变breturn 0;}例子2:*后const#include stdio.hint main(void){char a=W;char b;char *const p=a;//const在*之后,*p能改变,p不能变

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档