我是一名大学生,我们的老师告诉我们这些建议的意义,但我只想弄清楚其中的一些:
1. int *p1;
2. int *p2[10];
3. int (*p3)[10];
4. int (*p4)();
5. int **p5();
6. int (**p6)[10];
7. int (**p7)();
8. int *(*p8)();
9. int (*p9[10])();
10. int **p10[10];这就是我到目前为止想出来的:
你们能帮帮我吗?因为我们的老师告诉我们这些会出现在考试上
发布于 2020-06-08 15:40:20
发布于 2020-06-08 15:56:45
所有7个指针都被正确地确定,但是您应该指定参数类型和返回类型。
例如:
int **p5(); -不带参数的函数,返回指向int指针的指针。int *(*p8)(); -指向没有参数的函数的指针,返回指向int的指针。int (*p9[10])(); -由10个指针组成的数组不带任何参数,返回int。int **p10[10]; -指向指向int的指针的10个指针数组。如果我是一个编译器,我可以提示空参数列表,如f.e。clang做:
警告:此函数声明不是原型-原型
在实践中使用这些构造时,请使用(void)而不是()。
注意,如果你在考试,想想大卫·安德森( David )的顺时针/螺旋规则,如这里所示。
发布于 2020-06-08 17:09:53
1>pointer到整数
int *p1;指向整数的10指针的2>array
int *p2[10];指向10个整数数组的3>指针
int (*p3)[10]函数的4>指针,该函数接受无效参数并返回整数
int (*p4)();5>>是一个名为p5并返回int**的函数的原型(减速)
int **p5();
``````````6>>是一个由10个指针到指针的数组,指向整数值。
int (**p6)[10]
````````指向带空参数并返回int的函数的指针的7>>is指针
int (**p7)();8>>pointer用于接受无效参数和返回地址或指针的函数
int *(*p8)();
`````````````由10个指针组成的9>>array,指向接受无效参数并返回整数的函数。
int (*p9[10])();
```````````````10>>指的是指向整数值的10个指针数组中的第一个元素。
int **p10[10];https://stackoverflow.com/questions/62265769
复制相似问题