一 解释char *P
P是一个字符,*是指针运算符。当程序引用指针时,实际上引用指针所指向的数据。
二:指针作为。
变量的特性;
系统为指针分配内存空间
指针有自己的地址
指针可以存东西,通俗说指针可以存地址。
三:指针类型与指针所指向类型的区别?
如:int *(*ptr)[4]
把指针名字去了,就是指针类型:int*(*)[4]
把指针名字以及紧跟的*号去了,就是指针所指向的类型int*( )[4]
四:在32位程序里,指针的值是多少?
在32程序里,所有指针的值都是32位的整数,值就是指针指向的地址,大小都是32位长。
五:指针本身占用内存用什么测试?
用sizeof测量。在32系统里指针本身占用4个字节。
六:指针怎么运算?
指针在数组中,指针加1,让指针像右边移动1位对应数组1号位。
指针减一对应像左边移动1位。
当几个指针都同时指向一个数组时,可以用关系运算符<=> >=等
七:指针的间接使用
P是一个指针,*P就是P指向对象的值,*P右边加上赋值语句可以改变*p的值。
若*p是一个指向变量i的值那么使用i的任何地方都可以*p表示i,printf *p和打印i的效果是一样的。
八:常量指针与指针常量的区别
常量指针是一个指向常量的指针,指向内容也是常量不可以修改。
指针常量,是指针本身是一个常量不可以修改,指向内容是可以修改的。
九:指针数组与数组指针
数组名 *p[n]数组包换了n个指针变量P[0],p[1], p[n-1];
数组指针:指向数组的指针数组名+(*p)[n]
十:函数指针与指针函数
指向函数的指针叫函数指针,定义为int *指针名(参数列表);
当函数返回值为指针类型时,最好不要用与返回局部变量。