day08

指针数组
int *a[10];//sizeof(a)   sizeof(a[0])
short* a[10]
二级指针

指向一级指针的地址
int **pp=&p;
*pp=10;//p变成一个野指针
图示说明


image.png
    int a=10;
    int *p=&a;//
    int **pp=NULL;
    pp=&p;
    *pp=*pp+1;//
    printf("%p  %p  %d\n",p,*pp,*p);
    getchar();

结论:
一级指针和变量a的地址都没有变化,只是通过*pp改变了p的指向,结合数组分析。

指向二维数组的指针

char arr[2][10]={{"hello"},{"world"}};
char **pp=NULL;
pp=arr;

指针与二维数组

1、 a+1 指向的是第一行的元素,也就是指向一个一维数组
2、 a[1] 指向的是第一行,第0列的元素的地址
3、 *(a+1) 指向的是第一行,第0列的元素的地址
4、 a[1]+2 指向的是第一行的第二列的元素的地址
5、 *(a+1)+2 指向的是第一行的第二列的元素的地址
6、 *(a[1]+2) 指向的是第一行的第二列的元素
7、 ((a+1)+2) 指向的是第一行的第二列的元素

注意:
二位数组的名字代表的是二级指针;
[]可以等同理解为解引用(类似于* 的解引用的方式)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,625评论 3 44
  • 第十章 指针 1. 地址指针的基本概念: 在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为...
    坚持到底v2阅读 1,173评论 2 3
  • 技术交流QQ群:1027579432,欢迎你的加入! 1.Cpp中的指针 每个变量都有一个内存位置,每一个内存位置...
    CurryCoder阅读 2,777评论 0 1
  • 夜幕发了疯的渴望 吞下夕阳 舐尽最后一抹霞光 归巢的鸟儿,将影子印在天幕上 拍在天幕上 月上弦 挣扎着成为天空最后...
    白驼山庄主阅读 382评论 2 14
  • 这一周都在说行动力,分享几句自己比较有体会的鸡汤文: 1.行动是治愈恐惧的良药,而犹豫,拖延将不断滋生恐惧。 2....
    观萱阅读 318评论 0 0

友情链接更多精彩内容