正在加载图片...
(2)、赋值语句 =& 3)、注意:只能用同类型变量的地址进行赋值! 如定义:int*s; float f,则s=&f;是非法的。 二.指针变量的引用 1、两个运算符:&与* &:取地址,注意与作位运算符时的不同(双目) :取内容,注意与作乘运算符时的不同(双目) 说明 &既可作用于一般变量,也可作用于指针变量 *只能作用于指针变量 c.定义指针变量时的*与该处的含义不同 3、指针变量可以进行的操作 (1)赋值:inta,*pl=ka,*p2; 2=p1 下面的赋值是不合法的 int * ip ip=100 假设 int j=200x Int Ip &1 通过指针变量p间接访问变量 (2)输出: printi(%xpl1), (3)增减:pl+;p2-;p1+=4;(只能和一个整数) 不论指针变量指向何种数据类型,指针和整数进行加、减运 算时,编译程序总根据所指对象的数据长度对n放大。 (4).两个指针变量在一定条件下,可进行 减法运算。设p,q指向同一数组,则pq的绝对 值表示p所指对象与q所指对象之间的元素个 数 P a 例1 #include <stdio h> &al 11 main( int al=ll a2=22 int *pI, p2; 2 2 2 *p2(2)、赋值语句 int a, *s; s=&a; 3)、注意:只能用同类型变量的地址进行赋值! 如定义:int *s; float f; 则 s=&f;是非法的。 二. 指针变量的引用 1、两个运算符:& 与 * &:取地址,注意与作位运算符时的不同(双目) *:取内容 ,注意与作乘运算符时的不同(双目) 2、说明 a. &既可作用于一般变量,也可作用于指针变量 b. * 只能作用于指针变量 c. 定义指针变量时的 * 与该处的含义不同 3、指针变量可以进行的操作 (1)赋值:int a, *p1=&a, *p2; p2=p1; 下面的赋值是不合法的: int *ip; ip=100; 假设: int i=200, x; int *ip; ip=&i; x=*ip; 通过指针变量 ip 间接访问变量 i, (2)输出:printf(“%x”,p1); (3)增减:p1++; p2--; p1+=4; (只能和一个整数) p+n 不论指针变量指向何种数据类型, 指针和整数进行加、减运 算时, 编译程序总根据所指对象的数据长度对 n 放大。 (4). 两个指针变量在一定条件下, 可进行 减法运算。设 p, q 指向同一数组, 则 p-q 的绝对 值表示 p 所指对象与 q 所指对象之间的元素个 数。 例 1 #include <stdio.h> main( ) { int a1=11, a2=22; int *p1, *p2;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有