p30-31指针1,2

声明带有*的变量
char* x;short* y;int* z; float* f;double* d;Student* st
cahr** x;short** y;int** z;float** f···
char****** x;short****** y;···
声明指针总结:
1、带有*的变量类型的标准写法:变量类型* 变量名

2、任何类型都可以带* 加上*以后是新的类型

3、*可以是任意多个

字节宽带总结:
1、带*类型的变量赋值时只能使用“完整写法”.
如 int* a; a = (int*)1;

2、带*类型的变量宽度永远是4字节、无论类型是什么,无论有几个*.

++/-- 总结

1、不带*类型的变量,++或者-- 都是加1 或者减1

2、带*类型的变量,可是进行++ 或者 --的操作

3、带*类型的变量,++ 或者 -- 新增(减少)的数量是去掉一个*后变量的宽度

求差值总结:

1、带*类型的变量可以加、减一个整数,但不能乘或者除.

2、带*类型变量与其他整数相加或者相减时:

带*类型变量 + N = 带*类型变量 + N*(去掉一个*后类型的宽度)

带*类型变量 - N = 带*类型变量 - N*(去掉一个*后类型的宽度)

 


1、类型转换
2、&符号的使用
(1)&可以取任何一个变量的地址
(2)&a 的类型就是a的类型 + *
变量类型原来前有* 才可加* 如: int x = 10; int* px = &x; int x1 = *px;//int* x *x==int 与&相反
3、用指针操作数组
总结:

1、&arr[0]代表取数组中第一个元素的地址,可以省略为数组名.

2、*(p+i) = p[i]

posted @ 2023-01-07 19:02  摸鱼小曹  阅读(57)  评论(0)    收藏  举报