字符指针
3、4是常量字符串 都不能更改 所以内存中没必要存2份 所以指针指向同一地址
3、4最好用const修饰
指针数组
int main()
{
int a[5] = {1,2,3,4,5};
int b[5] = {22,2,3,4,5};
int c[5] = {1,2,3,4,6};
int* arr[3] = { a,b,c }; //指针数组
int i = 0;
for (i = 0; i < 3; i++)
{
int j = 0;
for (j = 0; j < 5; j++)
{
//printf("%d ",*(arr[i]+j));
printf("%d ", arr[i][j] ); // [ j ] 转变成 +j 解引用
}
printf("\n");
}
return 0;
}
数组指针
int main() //指针类型影响指针运算
{
int arr[10];
int* p1 = arr; //首元素地址
int(*p2)[10] = &arr; //数组的地址
printf("%p\n",p1);
printf("%p\n",p1+1); //下一个元素
printf("%p\n",p2);
printf("%p\n",p2+1); //下一个数组
return 0;
}