C语言基础自学总结之四指针.docx_第1页
C语言基础自学总结之四指针.docx_第2页
C语言基础自学总结之四指针.docx_第3页
C语言基础自学总结之四指针.docx_第4页
C语言基础自学总结之四指针.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言基础自学总结之四:指针指针是一个变量一 指针变量、类型例子1:指针类型#include int main(void) int a; int *p=&a; /&取地址符,初始化表达式的意思,指针p的值为,取a的地址, printf(%ld %ldn %ldn,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 int main(void) int a=2; int *p=&a; /p指向a *p=8; /意思是,找到地址为a位置,从这个位置开始取,取p个字节,得到的就是a,p是声明的int类型,所以是4个字节。所以p8就相当于a8. printf(%dn %dn,*p,a); return 0; 二、指针与数组例子1: #include int main(void) int a10=; int*p=a; /单独的数组名a相当于其第一个元素的地址,即a&a0 /数组名是数组的首元素地址,/上面的意思是,将a0的地址赋给p,p指向a0的地址 printf(%dn,a0); *p=8; printf(%dn,a0); return 0;例子2: #include int main(void) int a10=; int *p=a; int i; 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(%dn,*(p+i);/*(P+1),就是每一个数组的元素。 p3=9;/p3就是(p3),运算赋,(&a03)*(a3)(p3)p3,也是一样a33a(a3)(3+a) return 0;三、指针变量计算指针变量加1,其结果相当于加1个其指向的字节数。例子1: int*p=(int*)5; p+; p=9,#include int main(void) int *p=(int*)5;/强制把一个常量数值变成一个int类型。 char *q=(char*)5; printf(%pn,p+1); printf(%pn,q+1);/打印地址用p,打印所有的地址都数p, /p,q是指针变量,是int类型,1就是,加上指向类型地址的字节数,这里指向的地址数int,char类型,为41个字节。 return 0;四、const关键字const :声明只读变量意思:它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助例子1:*前const#include int main(void) char b=B; char a=A; const char *p=&a; /星前const,const在*之前 /char const *q=&a; /星前const,表示const修饰p,pq可以改变,但是p不可以改变 char *q=&b; a=C;/*p是不可改变的,a是可以改变的,不能写成pc,只能通过变a来改变p,不能通过p来改变a,也就是不能给p赋值来改变a *q=D; /没有const的就能直接改变*q,直接给q赋值。 printf(%cn %cn,*q,*p);/c输出字符。只能通过变b来改变p,不能通过p来改变b return 0;例子2:*后const#include int main(vo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论