鱼C论坛

 找回密码
 立即注册
查看: 1094|回复: 1

[已解决]指针数组

[复制链接]
发表于 2023-6-9 19:23:16 | 显示全部楼层 |阅读模式
1鱼币
对于指针数组如int  *p[10];与指针和数组的联系与区别,以及用法怎样
最佳答案
2023-6-9 19:23:17
int *p[10]; 这行代码声明了一个指针数组,包含10个指针,每个指针都指向一个整数。与数组和指针的联系与区别如下:

1. 联系:这都涉及到数组和指针的概念。数组是一种数据结构,可以存储一系列相同类型的数据。指针是一种特殊的变量,其值为另一个变量的地址。

2. 区别:这里的"指针数组"是一个数组,其元素是指针。而数组指针是一个指针,它指向一个整个数组。也就是说,"指针数组"是多个指针组成的集合,可以指向多个不同的变量或对象。而数组指针只能指向一个数组。

使用指针数组的基本方式如下:

1. 初始化:你可以在声明指针数组时初始化它,就像你可以初始化任何其他类型的数组一样。例如:
int a = 0, b = 1, c = 2;
int *p[3] = {&a, &b, &c}; // 初始化指针数组,让数组的元素分别指向a, b, c
2. 访问:你可以通过数组索引来访问指针数组中的元素(指针),然后使用解引用运算符(*)来获取该指针指向的值。例如:
int a = 0, b = 1, c = 2;
int *p[3] = {&a, &b, &c};
printf("%d", *p[0]); // 输出0,a的值
printf("%d", *p[1]); // 输出1,b的值
printf("%d", *p[2]); // 输出2,c的值
3. 赋值:你可以修改指针数组中的指针所指向的值,或者改变指针本身指向的地址。例如:
int a = 0, b = 1, c = 2, d = 3;
int *p[3] = {&a, &b, &c};
*p[0] = 5; // 修改a的值为5
p[1] = &d; // 将第二个指针指向d

最佳答案

查看完整内容

int *p[10]; 这行代码声明了一个指针数组,包含10个指针,每个指针都指向一个整数。与数组和指针的联系与区别如下: 1. 联系:这都涉及到数组和指针的概念。数组是一种数据结构,可以存储一系列相同类型的数据。指针是一种特殊的变量,其值为另一个变量的地址。 2. 区别:这里的"指针数组"是一个数组,其元素是指针。而数组指针是一个指针,它指向一个整个数组。也就是说,"指针数组"是多个指针组成的集合,可以指向多个不 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-9 19:23:17 | 显示全部楼层    本楼为最佳答案   
int *p[10]; 这行代码声明了一个指针数组,包含10个指针,每个指针都指向一个整数。与数组和指针的联系与区别如下:

1. 联系:这都涉及到数组和指针的概念。数组是一种数据结构,可以存储一系列相同类型的数据。指针是一种特殊的变量,其值为另一个变量的地址。

2. 区别:这里的"指针数组"是一个数组,其元素是指针。而数组指针是一个指针,它指向一个整个数组。也就是说,"指针数组"是多个指针组成的集合,可以指向多个不同的变量或对象。而数组指针只能指向一个数组。

使用指针数组的基本方式如下:

1. 初始化:你可以在声明指针数组时初始化它,就像你可以初始化任何其他类型的数组一样。例如:
int a = 0, b = 1, c = 2;
int *p[3] = {&a, &b, &c}; // 初始化指针数组,让数组的元素分别指向a, b, c
2. 访问:你可以通过数组索引来访问指针数组中的元素(指针),然后使用解引用运算符(*)来获取该指针指向的值。例如:
int a = 0, b = 1, c = 2;
int *p[3] = {&a, &b, &c};
printf("%d", *p[0]); // 输出0,a的值
printf("%d", *p[1]); // 输出1,b的值
printf("%d", *p[2]); // 输出2,c的值
3. 赋值:你可以修改指针数组中的指针所指向的值,或者改变指针本身指向的地址。例如:
int a = 0, b = 1, c = 2, d = 3;
int *p[3] = {&a, &b, &c};
*p[0] = 5; // 修改a的值为5
p[1] = &d; // 将第二个指针指向d
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 10:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表