<分区>
它们在 C 和 C++ 上的工作方式会有所不同吗?
<分区>
它们在 C 和 C++ 上的工作方式会有所不同吗?
最佳答案
int *a[5] -
这意味着“a”是一个指针数组,即数组“a”中的每个成员都是一个指针
整数类型;数组的每个成员可以保存一个整数的地址。
int (*a)[5] -
这里“a”是指向 5 个整数数组的指针,换句话说
“a”指向一个包含 5 个整数的数组。
示例:
#include<stdio.h>
int main()
{
int b = 3;
int c = 4;
int *a[2] = {&b, &c}; // is same as ---int *a[] = {&b, &c}
printf("value pointed to by a[0] = %d, by a[1] = %d\n", *a[0], *a[1]);
return 0;
}
关于c++ - "int *a[5]"和 int(*a)[5]” 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25790789/