第8章指针 (2)px++,++pxpx--pX.显然是px±n的特 (n=1)。即指针加1或减1。 (3)px-py,py-px两个指针相减运算结果 是整数,即它们所指向数组元素下标相差的整数 设px指向数组元素a[2],py指向数组元素a[6],则 下列表达式及其运算结果 px py 结果为整数-4 pyp 结果为整数4 Ba
第8章 指针 (2) px++,++px,px--,--px. 显然是px±n的特 (n=1)。即指针加1或减1。 (3) px-py,py-px 两个指针相减运算结果 是整数,即它们所指向数组元素下标相差的整数。 设px指向数组元素a[2],py指向数组元素a[6],则 下列表达式及其运算结果: px-py 结果为整数 –4。 py-px 结果为整数 4
第8章指针 【例8.1】指针变量的定义、赋值及简单应用 main() i int a=5, *p=&a printf ("%d", p) 程序运行情况: 程序说明:在定义指针变量p后,利用指针变量p 取得整型变量a的地址,并在最后的输出中,利用指针 变量获取变量a的值进行输出。 Ba
第8章 指针 【例8.1】指针变量的定义、赋值及简单应用 main( ) { int a=5,*p=&a; printf ("%d",*p); } 程序运行情况: 5 程序说明:在定义指针变量p后,利用指针变量p 取得整型变量a的地址,并在最后的输出中,利用指针 变量获取变量a的值进行输出
第8章指针 8.32指针的关系运算 它的运算规则是:当两个指针变量的值(地址值) 潢足关系运算时,结果为1(真);否则结果为0 (假),所以两个指针变量进行关系运算的结果也是 逻辑值。 定义了数组a和同类型的指针变量px,py;使px指向数 组元素a[1];py指向数组元素a[4]。请看下列的关系 表达式及其运算结果: pXpy结果为1(真) px++=py结果为0(假),注意++是后缀 Ba
第8章 指针 8.3.2 指针的关系运算 它的运算规则是:当两个指针变量的值(地址值) 潢足关系运算时,结果为1(真);否则结果为0 (假),所以两个指针变量进行关系运算的结果也是 逻辑值。 定义了数组a和同类型的指针变量px,py;使px指向数 组元素a[1];py指向数组元素a[4]。请看下列的关系 表达式及其运算结果: px<py 结果为1(真)。 px++==py 结果为0(假),注意++是后缀
第8章指针 py=px+2结果为1(真),注意-是前缀 py<&a[5]结果为1(真),&a[5地址是地址常量 py>px+2结果为1(假),pX+2是地址型表达式, 代表a[3]的地址 指什的运算应注意以下几点: 指什变量只能和整数或整型变量相加减,而不能和 实型数或实型变量相加减。如px+35是错误的. 指什变量不能进行乘法和除法运算。如py*4或py2 都是错误的。 两个指什变量相减,必须指向同一个数组,否则不能进 行减法运算。 Ba
第8章 指针 --py==px +2 结果为1(真),注意--是前缀。 py<&a[5] 结果为1(真),&a[5]地址是地址常量。 py>=px+2 结果为1(假),px+2是地址型表达式, 代表a[3]的地址。 指什的运算应注意以下几点: l 指什变量只能和整数或整型变量相加减,而不能和 实型数或实型变量相加减。如px+3.5是错误的.。 l 指什变量不能进行乘法和除法运算。如py*4或py/2 都是错误的。 两个指什变量相减,必须指向同一个数组,否则不能进 行减法运算
第8章指针 84指针和数组 8.4.1指针与一维数组 定义一个整型数组和一个指向整型的指针变量如下 int a[101,*p; 假定给出赋值运算 p=&a[0]; 此时,p指向数组中的第0号元素,即a[0]指针变量p中包 含了数组元素a[0]的地址,由于数组元素在内存中是连 续存放的,因此,我们就可以通过指针变量p及其有关运 算间接访问数组中的任何一个元素。 Ba
第8章 指针 8.4.1 指针与一维数组 定义一个整型数组和一个指向整型的指针变量如下 int a[10], *p; 假定给出赋值运算 p=&a[0]; 此时, p指向数组中的第0号元素, 即a[0], 指针变量p中包 含了数组元素a[0] 的地址, 由于数组元素在内存中是连 续存放的, 因此, 我们就可以通过指针变量p及其有关运 算间接访问数组中的任何一个元素。 8.4 指针和数组