憨厚的水煮鱼 · 2024年中级经济师网课+电子版教材百度网盘 ...· 7 月前 · |
强健的黑框眼镜 · 沈阳地铁七号线_搜狗百科· 1 年前 · |
寂寞的茄子 · 殷桃离婚12年:她至今单身,托起父母晚年,前 ...· 1 年前 · |
快乐的显示器 · 电影库,影片搜索,影评排行,票房排行_新浪娱 ...· 1 年前 · |
风流倜傥的小笼包 · 都市无敌战神 - 🌈️包子漫畫· 1 年前 · |
在这里,把 ptr 声明为一个数组,由 MAX 个整数指针组成。因此,ptr 中的每个元素,都是一个指向 int 值的指针。下面的实例用到了三个整数,它们将存储在一个指针数组中,如下所示:
当上面的代码被编译和执行时,它会产生下列结果:
Value of var[0] = 10 Value of var[1] = 100 Value of var[2] = 200您也可以用一个指向字符的指针数组来存储一个字符串列表,如下:
当上面的代码被编译和执行时,它会产生下列结果:
Value of names[0] = Zara Ali Value of names[1] = Hina Ali Value of names[2] = Nuha Ali Value of names[3] = Sara Ali1231
214***214@126.com
char *names[MAX] 是指针数组, 它的本质是存储指针的数组, 既存储 char 类型的指针的数组, 数组内的每个元素都是一个指针指向一个存储 char 类型的地址:
#include <iostream> using namespace std; const int MAX = 4; int main(int argc, const char * argv[]) { const char *names[MAX] = { "Zara Ali", "Hina Ali", "Nuha Ali", "Sara Ali", for (int i = 0; i < MAX; i++) { cout << " --- names[i] = " << names[i] << endl; cout << " --- *names[i] = " << *names[i] << endl; cout << endl; cout << " --- (*names[i] + 1) = " << (*names[i] + 1) << endl; cout << " --- (char)(*names[i] + 1) = " << (char)(*names[i] + 1) << endl; cout << " ------------------------------------ " << endl << endl << endl << endl; return 0;暖暖的太阳
124***7512@qq.com
影月5
132***69874@163.com
C 语言的老司机这里要告诉你的是 C++ 的运算符优先级顺序和C的不一样,有细微差别。
int *ptr[3];
由于 C++ 运算符的优先级中, * 小于 [] ,所以 ptr 先和 [] 结合成为数组,然后再和 int * 结合形成数组的元素类型是 int * 类型,得到一个叫一个数组的元素是指针,简称指针数组。
int *(ptr[3]);
这个和上面的一样,优先级顺序是 * 小于 () ,() 等于 [] 。 ptr 先和 [] 结合成为数组,然后再和 int * 结合形成数组的元素类型是 int * 类型,得到一个叫一个数组的元素是指针。
int (*ptr)[3];
这个就不一样了,优先级顺序是 * 小于 () , () 等于 [] , () 和 [] 的优先级一样,但是结合顺序是从左到右,所以先是 () 里的 * 和 ptr 结合成为一个指针,然后是 (*ptr) 和 [] 相结合成为一个数组,最后叫一个指针 ptr 指向一个数组,简称数组指针。
看树的鸟
578***280@qq.com
#include <iostream> using namespace std; const int MAX = 4; int main () const char *names[MAX] = { "Zara Ali", "Hina Ali", "Nuha Ali", "Sara Ali", for (int i = 0; i < MAX; i++) for (int j = 0; j < 8; j++) cout << "Value of names[" << i << "] = "; cout << *(names[i] + j)<< endl; return 0;输出结果为:
Value of names[0] = Z Value of names[0] = a Value of names[0] = r Value of names[0] = a Value of names[0] = Value of names[0] = A Value of names[0] = l Value of names[0] = i Value of names[1] = H Value of names[1] = i Value of names[1] = n Value of names[1] = a Value of names[1] = Value of names[1] = A Value of names[1] = l Value of names[1] = i Value of names[2] = N Value of names[2] = u Value of names[2] = h Value of names[2] = a Value of names[2] = Value of names[2] = A Value of names[2] = l Value of names[2] = i Value of names[3] = S Value of names[3] = a Value of names[3] = r Value of names[3] = a Value of names[3] = Value of names[3] = A Value of names[3] = l Value of names[3] = i
ms
102***63@qq.com
leo
fen***an_leo@outlook.com
chenyfan
101***6590@qq.com