差别:简单说p是数值,
p是地址!
p可以当做变量来用;的作用是取后面地址p里面的数值
p是当作地址来使用。可以用在sca
f函数中:sca
f(“d”,
p);
2)p和(p)的之间的差别:改错题目中很重要!考试超级
重点
p是地址会变化。
口诀:取当前值,然后再移动
f地址!(p)是数值会要变化。口诀:取当前值,然后再使数
值增加1。例题:i
tpa13579
pa请问p和(p)的数值分别为多少?p:这个本身的数值为1。由于是地址会增加一,所以指针指向数值3了。(p)这个本身的数值为1。由于有个表示数值会增加,指针不移动,但数值1由于自加了一次变成了2。3)三名主义:(考试的重点)数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了很多次)函数名:表示该函数的入口地址。字符串常量名:表示第一个字符的地址。4)移动指针(经常加入到考试中其他题目综合考试)chars“meika
shu”while(s)pri
tf(“c”,s);s;这个s首先会指向第一个字母m然后通过循环会一次打印出一个字符,s是地址移动,打印了一个字母后,就会移动到下一个字母!5)指针变量两种初始化(一定要看懂)方法一:i
ta2,pa;定义的同时初始化
f方法二:i
ta2,p;定义之后初始化
pa;
6)传数值和传地址(每年必考好多题目)
voidfu
(i
ta,i
tb)
voidfu
(i
ta,
i
tb)
i
tt;
i
tt;
ta;ab;bt;
ta;ab;
bt;
mai
()
mai
()
i
tx1,y3,
i
tx1,y3,
fu
(x,y);
fu
(x,y)
pri
tf(“d,d”,x,y);
pri
tf
(“d,d”,x,y);
这个题目答案是1和3。
这个题目的答案
就是3和1。
传数值,fu
是用变量接受,所以fu
中
传地址,fu
用指针
接受!这个时候fu
的交换不会影响到mai
中的x和y。
中的交换,就会影
响到mai
中的x和y。
传数值,形参的变化不会影响实参。
传地址形参的变化绝
f大多数会影响到实参!
7)函数返回值是地址,一定注意这个号
i
tfu
(i
ta,i
tb)可以发现函数前面有个,这个就说
明函数运算结果是地址
if(ab)retur
a;retur
a可以知道返回的是a地址。
elseretur
b;
mai
()
i
tx7,y8,max;
maxfu
(x,y);
由于fu
(x,y)的运算结果是地
址,所以用max来接收。
pri
tf(“d”,max);
8)考试重要的话语:
指针变量是存放地址的。并且指向哪个就等价哪个,所有出现p的地
方都可以用它等价的代替。例如:i
ta2,pa;
pr