请解释一下C语言中的指针数组和数组指针。它们有什么不同?
当面试官问到C语言中的指针数组和数组指针时,可以从概念、示例和区别几个方面详细说明了它们的含义和区别。
指针数组和数组指针是C语言中涉及指针和数组的两个不同概念,虽然它们都涉及到数组和指针的结合使用,但在语法和语义上存在一些区别。
int num1 = 10, num2 = 20, num3 = 30;
int *ptrArray[3]; // 声明一个指针数组,每个元素是指向int的指针
ptrArray[0] = &num1;
ptrArray[1] = &num2;
ptrArray[2] = &num3;
printf("%d\n", *ptrArray[0]); // 输出 10
int arr[3] = {10, 20, 30};
int (*ptrToArr)[3]; // 声明一个指向包含3个int元素的数组的指针
ptrToArr = &arr;
printf("%d\n", (*ptrToArr)[0]); // 输出 10
「区别:」
总结来说,指针数组和数组指针是C语言中两个涉及指针和数组的不同概念。指针数组是一个数组,其中的每个元素是指针;数组指针是一个指针,指向一个数组的首元素。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有