没有合适的资源?快使用搜索试试~ 我知道了~
首页最全的C语言指针详解.ppt
资源详情
资源评论
资源推荐

指针
6.1 指针定义与使用
6.2 指针与函数
6.3 指针与数组
6.4 指针与字符串
6.5 指针数组与多级指针
6.6 指针与动态内存分配
6.7 指针的深层应用

6.1 指针的引出
一 . 地址与指针
1. 地址与取地址运算
C 程序中的变量在内存中占有一个可标识的存储区 ,
每一个存储区是由若干个字节组成 , 每一个字节都
有
自己的地址 , 而一个存储区的 地址是指该存储区中
第一个字节的地址
C 语言允许在程序中使用变量的地址
( 通过地址运算符 & 可得到 )
如 : float x ; 变量 x 的地址 ---- &x
int a[10] ; 数组变量 a 的地址 ---- 数组
名 a

2. 指针与指针变量
(1) 变量的访问方式
① 直接访问 : 通过变量名或地址访问变量的存储区
例 : scanf ( “%d” , &x ) ;
x = sqrt(x) ;
printf ( “%d” , x ) ;
② 间接访问 : 将一个变量的地址存放在另一个变量中 .
如将变量 x 的地址存放在
变量 p 中 , 访问 x 时先找到 p,
再由 p 中存放的地址找到 x
p x
2012 1010
1010
(2) 指针 : 一个变量的指针就是该变量的地址 ( 指针就是地
址 )
(3) 指针变量 : 存放变量地址的变量 , 它用来指向另一个变
量

二、 指针变量的定义
1. 格式 : 数据类型 * 指针变量名 ;
例 int *p1 ;
char *p2 ;
2. 说明 :
(1) 在变量定义时 , * 号表示该变量是指针变量
( 注意 : 指针变量是 p1 , p2 , 不是 *p1 , *p2 )
(2) 定义指针变量后 , 系统为其分配存储空间 , 用以存放
其他变量的地址 , 但在对指针变量赋值前 , 它并没
有
确定的值 , 也不指向一个确定的变量
例 : int x , *p ;
x = 5 ;
p x
2012 1010
51234
注 : 指针变量 p 的值是随机值 ,
此时 p 和 x 并无关联

(3) 使指针变量指向一个确定的变量必须进行赋值
int x , *p ;
x = 5 ;
p = &x ;
p x
2012 1010
51010
三、 指针变量的引用
1. 指针运算符 *
(1) p 与 *p 不同 , p 是指针变量 , p 的值是 p 所指向的变量的
地址
*p 是 p 所指向的变量 , *p 的值是 p 所指向的变量的值
*p 的值为 5(*p 表示 x) , 而 p 的值为 1010
(2) 引用指针变量时的 * 与 定义指针变量时的 * 不同
定义变量时的 * 只是表示其后的变量是指针变量
剩余46页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0