下载此文档

C语言指针知识点总结.docx


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
#include<>Voidg(int*p,int*q){*p=1;*q=2;}Intmain(void){Inta=3,b=5;g(&a,&b);Printf(“%d%d\n”,a,b);Return0;}指针使函数返回一个以上的值Intf(inti,intj){return100;//return88;error}Intmain(void){Inta=3,b=5;a=f(a,b);b=f(a,b);}只能返回一个值指针★指针的重要性表示一些复杂的数据结构快速传递数据使函数返回一个以上的值能直接访问硬件能方便处理字符串是理解面向对象语言中引用的基础总结:指针是C语言的灵魂★指针的定义☆地址内存单元的编号从零开始的非负整数范围:4G☆,,★指针的分类☆基本类型指针(重要)#include<>intmain(void){int*p;//p是变量的名字,int*表示p变量存放的是int类型变量的地址Int*p;不表示定义了一个名字叫做*p的变量Int*p;应该理解为:p是变量名,p变量的数据类型是int*类型所谓int*类型,实际就是存放int变量地址的类型inti=3;charch=’A’p=&i;//,,i也不是p,修改p的值不影响i的值,,则*指针变量完全等同于普通变量例:若p指向i,则*p=i(*p和i可互相替换)p=&ch;//error//p=i;//error,因为类型不一致,p只能存放int类型变量的地址,不能存放int类型变量//P=55;//error,原因同上return0;}△附注:▷*的含义:*p;//定义了一个名字叫做p的变量,int**p表示以p的内容为地址的变量▷&...*...*形参名=......的方式就可以修改主调函数相关变量的值例子:经典指针程序:互换数值#include<>voidhuhuan3(int*p,int*q)//形参的名字是p和q,接收实参数据的是p和q,而不是*p和*q{intt;//如果要互换*p和*q的值,则t必须是int,不能是int*t=*p;//p是int*,*p是int*p=*q;*q=t;return;}intmain(void){inta=3;intb=5;huhuan3(&a,&b);/*huhuan3(*p,*q)是错误的huhuan3(a,b)也是错误的*/printf(“a=%d,b=%d/n”,a,b);return0;}a=5,b=3Pressanykeytocontinue互换成功#include<>voidhuhuan(inta,intb){intt;t=a;a=b;b=t;return;}intmain(void){inta=3;intb=5;huhuan(a,b);printf(“a=%d,b=%d/n”,a,b);return0;}a=3,b=5Pressanykeytocontinue互换失败#include<>voidhuhuan2(int*p,int*q){int*t;//如果要互换p和q的值,则t必须是int*,不能是intt=p;p=q;q=t;return;}intmain(void){inta=3;intb=5;huhuan2(&a,&b);/*huhuan2(*p,*q);是错误的huhuan2(a,b);也是错误的*/printf(“a=%d,b=%d\n”,a,b);return0;}a=3,b=5Pressanykeytocontinue互换失败形参和实参是不同的变量,修改形参不会改变实参▷指针常见错误#include<>Intmain(void){Inti=5;Int*p;Int*q;P=&i;//*q=p;//error语法编译会出错//*q=*p;//errorP=q;//q是垃圾值,q赋给p,p也是垃圾值printf(“%d\n”,*q);//13行/*q的空间是属于本程序的,所以本程序可以读写q的内容,但是如果q内部是垃圾值,则本程序不能读写*q的内容因为此时*q所代表的内存单元的

C语言指针知识点总结 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小53 KB
  • 时间2019-04-24