网站大量收购独家精品文档,联系QQ:2885784924

[工学]指针.ppt

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

指针 考察的知识点: TOP1: 指针变量的定义与初始化 TOP2: 对指针变量赋值 TOP3: 通过指针应用一个存储单元 TOP4: 指针的移动 TOP5: 指针的比较 TOP6: 指针作为函数的参数 TOP7: 指针作为函数的返回值 TOP8: 指向数组的指针变量的运算 TOP9:通过建立指针数组引用二维数组元素 TOP10:指针数组作实参时函数的调用 TOP11:指针指向字符串的两种方式 TOP12:用字符数组作为字符串和用指针指向字符串的区别  指  针 *指针和指针变量 一、指针 1. 什么是指针  所谓指针,就是指存放数据的内存地址。 2. 变量与内存地址的关系 例如:有一条定义语句 int i=3,j=5;float f; 3. 数组与地址的关系 例如:有一条定义语句 int a[3]; 二、指针变量 1. 什么是指针变量  用于存放地址的变量称为指针变量 2. 指针变量的特点  地址是一种特殊的数据类型,所以存放地址的指针变量和存放字符型、整型、实型数据的变量是不同类型的变量。 3. 如何获得地址 3. 如何获得地址 (1) 变量地址或数组元素地址通过“”运算符获得。 例如: int a,b[10]; a、b[3] (2) 数组的首地址直接可用数组名,不必利用“”运算符获得。 例如:int b[10] 那么数组名b就是数组首地址 *指针变量的定义、初始化和引用 一、指针变量的定义和初始化 1. 定义格式  存储类型 数据类型 *指针变量名[=初值]…… 2. 功能:定义指向“数据类型”变量或数组的若干个指针变量,同时给这些指针变量赋初值。 3. 说明 3. 说明 (1) 指针变量名前面必须有“*”号。 (2) 定义指针变量时的“数据类型”可以是任何数据类型,但这个数据类型不是指针变量中存放的数据类型,而是它将要指向的变量或数组的数据类型。即:指针变量与其指向的变量具有相同数据类型。 (3) 指针变量定义后,变量值不确定,应用前必须先赋值,其中的初值必须是地址。(可能是普通变量名、数组元素、数组名、NULL或指针变量) 4. 举例  int a; int *p=a; int f1,f[10],*p1=f1,*p2=f; p=f[0]; p=p1; TOP1: 指针变量的定义与初始化 ★典型例题: 设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( )(2007.4) A)float *p=1024; B)int *p=(float x); C)float p=x; D)float *P=x; 二、指针变量的引用方式 1. 直接引用指针变量名 (1) 作用:凡是用到地址时,可以直接引用指针变量名。 (2) 举例: int i,j,*p=i,*q; q=p; scanf(“%d,%d”,q,j); 2. 通过指针变量来引用它所指向的变量 使用格式:*指针变量名 说明:使用时要注意该指针变量必须已赋过值即已指向某个变量。 (2) 例如:  int i=1,j=2,k,*p=i; k=*p+j; (等价于 k=i+j;) printf(“%d”,*p); (等价于 printf(“%d”,i);) 注意: printf(“%d”, p); 是错误用法。 三、取地址运算符与指针运算符 说明: (1) “”运算符的运算对象必须是已定义过的变量或数组名;不可以用于表达式、常量 (2) “*”运算符的运算对象必须是已赋值的指针变量;不能是普通变量。 例如:int a,*pa=a; *a、*pa、*pa是正确用法; *a是错误用。 TOP2: 对指针变量赋值 ★典型例题: 设有定义:int n1=0,n2,*p=n2,*q=n1;,以下赋值语句中与n2=n1;语句等价的是( )。 (2005.9) A)*p=*q; B)p=q; C)*p=n1; D)p=*q; TOP3: 通过指针应用一个存储单元 ★典型例题: 有以下程序 #include main() {int n,*p=NULL; *p=n;   printf(“Input n:”); scanf(“%d”,p); printf(“output n:”); printf(“%d\n”,p);   }   该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,

文档评论(0)

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

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

1亿VIP精品文档

相关文档