欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C语言指针部分的知识

程序员文章站 2022-03-31 10:14:02
  1.总结C语言指针部分的知识。 一级指针、一维数组、数组指针 一维数组的数组名就是指针,如int a[4]={0}; a就相当于一个指针 int *p=a。...

 

1.总结C语言指针部分的知识。

一级指针、一维数组、数组指针

一维数组的数组名就是指针,如int a[4]={0}; a就相当于一个指针 int *p=a。

二级指针、二维数组、指针数组

二维数组 int aa[2][3]={0}。

这个时候是不能用int **pp=aa,但访问的时候应为**aa。

实际上二维数组的第一维是int (*ab)[3],是个指针数组,不是数组指针。

这个时候int (ab)[3]是与 int *不同的,所以接受二维数组时要用 int (*ab)。[3]==aa,不能用二级指针int**pp==aa,此时ab与aa相同。

指针数组是int *ab[3]这种形式,ab先与[]结合,形成一个一维数组,

这个数组的元素都是int*的指针,所以叫做指针数组。这个时候可以用int**p=ab,因为二级指针只能指向存有int*的位置,而数组内部都是int*的元素,所以数组指针就是二级指针,而二维数组不能直接作为二级指针。

它是一维指针数组int (*ab)[]。这个指针数组解释就是首先是一个指针(*ab),然后是一个数组,存放int元素。

可以用这个指针ab去访问,*ab第一个元素;(*ab)[1]第二个元素。

2.研究函数指针数组、指向函数指针数组的指针等概念。