|
发表于 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
|
|