数组指针和指针数组

简介: 数组指针和指针数组

1.指向数组元素的指针

int a[2];

a[0] = 1; a[1] = 2;

int *p;

p = &a[0];//把a[0]元素的地址赋给指针变量p,即p指向数组第0号元素

因为数组名也就是数组首地址,所以

p = &a[0];和p = a;是一样的

定义指针变量时候也可以赋初值,这两行等价

int * p = &a[0];

int * p = a;

int a[2]
a[0] = 1; a[1] = 2;
int *p;
p = &a[0];
//引用一个数组元素,目前由于以下几种方法:
a[i],p[i],*[p+i],*(a+i)

2.指针数组和数组指针

int * p[10]这是指针数组,首先这是个数组,数组里有10个元素,每个元素都是一个指针,每个元素里面是这样的int*

数组指针int (*p)[10] ,表明的是这个是个指向数组的指针,那么该指针变量存储的地址必须是数组的首地址,p是一个指针,指向一个int[10]的数组,每个数组元素是一个int类型的变量

数组指针和指针数组的区别 - hongcha_717 - 博客园 (cnblogs.com)

3.指向指针的指针

char ** p 定义一个指向“字符串指针变量”的指针变量

相关文章
|
15天前
使用指针访问数组元素
【10月更文挑战第30天】使用指针访问数组元素。
30 3
|
14天前
使用指针访问数组元素
【10月更文挑战第31天】使用指针访问数组元素。
27 2
|
22天前
|
算法 索引
单链表题+数组题(快慢指针和左右指针)
单链表题+数组题(快慢指针和左右指针)
28 1
|
1月前
|
存储
如何使用指针数组来实现动态二维数组
指针数组可以用来实现动态二维数组。首先,定义一个指向指针的指针变量,并使用 `malloc` 为它分配内存,然后为每个子数组分配内存。通过这种方式,可以灵活地创建和管理不同大小的二维数组。
|
1月前
|
存储
如何通过指针数组来实现二维数组?
介绍了二维数组和指针数组的概念及其区别,详细讲解了如何使用指针数组模拟二维数组,包括定义与分配内存、访问和赋值元素、以及正确释放内存的步骤,适用于需要动态处理二维数据的场景。
|
1月前
|
存储 算法 C语言
C语言:什么是指针数组,它有什么用
指针数组是C语言中一种特殊的数据结构,每个元素都是一个指针。它用于存储多个内存地址,方便对多个变量或数组进行操作,常用于字符串处理、动态内存分配等场景。
|
1月前
魔法指针 之 二级指针 指针数组
魔法指针 之 二级指针 指针数组
19 1
|
1月前
|
存储
一篇文章了解区分指针数组,数组指针,函数指针,链表。
一篇文章了解区分指针数组,数组指针,函数指针,链表。
18 0
|
1月前
|
编译器 C语言
【C语言】指针篇-深入探索数组名和指针数组- 必读指南(2/5)
【C语言】指针篇-深入探索数组名和指针数组- 必读指南(2/5)
|
3月前
|
搜索推荐 C语言
指针与数组
指针与数组
58 9