指针遍历数组
同类型指针遍历同类型的数组
找出指定数字并返回他的地址
void main() {
int arr[] = { 1,1,9,8,4,5,6,2,5,1 };
int*p = arr;
for (int i = 0; i < 10; i++) {
if (*(p + i) == 1) {
printf("%x\n", p + i);
}
}
}
不同类型之间的指针遍历数组
void main() {
char arr[] = { 1,1,9,8,4,5,6,2,5,1 };
short* p =(short*)arr;
for (int i = 0; i < 10; i++) {
printf("%x\n", *(p + i));
}
}
指针数组
数组里存的是指针类型的元素
结构体指针
把结构体当做数据类型,则对于结构体指针的操作与其他数据类型相同。
多级指针
p1+2 就是p1指针移动2*char(1字节)个长度
指针数组
本质是个指针
宽度
赋值和++
px指向的是一个 数组 int[5], 每一次+1,移动20个字节
例子
px和*px都表示数组的地址
px是社么类型?指向整个数组的指针
*px是什么?是数组名,相当于一个一级指针,是一个指向数组首地址的指针
指向数组首地址的指针和指针数组的区别就是做运算时,指针的跨度不一样