1.定义
指针也就是内存地址,指针变量是用来存放内存地址的变量
形式:(基类型) *指针变量名//*习惯性跟在类型后面 例:int* p(一般习惯定义p)
任何类型都可以带*,之后都是新类型
‘*’可以是任意多个,but 赋值的时候有多少*照样打回去,so为了不给自己找麻烦,一个就够
2.赋值
打全了:int* x; x=(int*)10;
3.%p格式符
输出地址值,地址是一个十六进制的无符号整数表示的。
4.&:取地址符
*:间接寻址运算符,用来访问指针变量指向的变量的值
5.宽度
加了*后都是4个字节,无论有多少个*
6.区别p+1与p++
p+1:不对p进行复值 *** 作,也就是说并不改变当前指针的指向,仍指向原来的元素。
p++:相当于p=p+sizeof(基类型),p被进行复值 *** 作,改变p的指向,指针向下移动了一个元素的位置
若定义完后进行a++,a--等 *** 作,a本身就加或减去掉一个*后的sizesof(a)
如果是+或者-去一个数,则a最后是+或者- 去掉一个*后的sizeof(a)乘以这个数
Attention:可以有加减法不可以有乘除法
相同的类型之间(*一样多)可以相减,结果等于去掉一个*的数据的宽度
带*的变量如果类型相同(*一样多)是可以比较大小的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)