下载此文档

第8章-数组与指针.ppt


文档分类:IT计算机 | 页数:约37页 举报非法文档有奖
1/37
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/37 下载此文档
文档列表 文档介绍
一维数组和指针
二维数组和指针
字符串和指针
一维数组名作函数参数
二维数组名和指针数组作实参
字符串(一维字符数组)作函数参数
字符串数组
第八章 数组和指针


a [0]
a [1]
a [2]
a [3]
a [9]
...
整型指针p
&a [0]
p
a++; a=&a[3];
例:int a[10];
数组元素a[0]----a[9],都是整型变量,
因此都有一个地址: & a[i] (0<=i<=9)
int *p;
p=&a[0]; (将数组元素地址p)
例:int a[10];
数组名是表示数组首地址的地址常量
p=a; (将数组a首地址p)
a[0]
a[1]
a[2]
a[3]
a[9]
...
整型指针p
&a[0]
p
(1)可以通过数组名来表示数组元素的地址:
a+1是数组元素a[1]的地址;即:&a[1]
a++( 只有变量才能自加自减运算 )
a+i是数组元素a[i]的地址; 即: &a[i]
a(即a+0)是a[0]的地址即: &a[0]
2、指向一维数组的指针变量
设:int a[10],*p=a;
(2)通过指向数组的指针变量引用数组元素
a[0]
a[1]
a[2]
a[3]
a[9]
...
a
a+9
a+1
a+2
地址
元素
下标法
a[0]
a[1]
a[2]
a[9]
a[0]
a[1]
a[2]
a[3]
a[9]
...
p
p+9
p+1
p+2
地址
元素
指针法
*p
*(p+1)
*(p+2)
*(p+9)
[] 变址运算符
a[i]  *(a+i)
a[i]  p[i]  *(p+i) *(a+i)
*a
*(a+1)
*(a+2)
*(a+9)
p[0]
p[1]
p[2]
p[9]
例 int a[ ]={1,2,3,4,5,6,7,8,9,10},*p=a,i;
数组元素地址的正确表示: (A)&(a+1) (B)a++ (C)&p (D)&p[i]

数组名是地址常量
p++,p-- ()
a++,a-- ()
a+1, *(a+2) ()
小结:指针变量与一维数组的关系
设 int a[10],*p;
数组名是指针(地址)常量
若已有p=a; 即已使p指向了a[0];则 p+i 是a[i]的地址
数组元素的表示方法:下标法和指针法,即若: p=a;
则 p[i]  a[i]  *(p+i)  *(a+i)
二维数组和指针

a
int a[10];
设有:int a[3][4], *p;
对于二维数组:
(1)a是数组名,
包含三个元素
a[0],a[1],a[2]
二维数组每行
第一个元素的地址
代表不可变的地址常量
(2)每个元素a[i]
又是一个一维
数组,包含4个
元素
a
a+1
a+2
*(*(a+0)+1)
*(a[0]+1)
int a[3][4];
a[0]
a[1]
a[2]
2000
2016
2032
2000
2004
2016
2020
2032
2036
a[0][0]
a[0][1]
a[1][0]
a[1][1]
a[2][0]
a[2][1]
a[0][2]
a[0][3]
a[1][2]
a[1][3]
a[2][2]
a[2][3]
基类型
行指针
a[0]+1
a[1]+1
a[2]+1
*(a+0)+1
*(a+1)+1
*(a+2)+1
对二维数组 int a[3][4],有
a-----二维数组的首地址,即第0行的首地址
a+i-----第i行的首地址
a[i]  *(a+i)------第i行第0列的元素地址
a[i]+j  *(a+i)+j -----第i行第j列的元素地址
*(a[i]+j)  *(*(a+i)+j)  a[i][j]
int a[3][4];
a[0]
a[1]
a[2]
2000
201

第8章-数组与指针 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数37
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wxc6688
  • 文件大小606 KB
  • 时间2021-01-23