![]() |
1
56
有一种技巧可以记住如何构建这种类型。首先尝试从指针的名称开始读取指针,然后从右向左读取。 如何在没有帮助的情况下申报这些东西?数组
是一个 5 T阵列 . 要使t成为函数类型,您可以将返回类型写在左侧,参数写在右侧:
将 是一个 返回void且不带参数的5个函数数组 . 但是函数本身不能填充在数组中!它们不是物体。只有指向它们的指针才能。 怎么样
这仍然是错误的,因为它只会将返回类型更改为指向void的指针。您必须使用括号:
这实际上是可行的。 t是返回void且不带参数的函数的5个指针数组。 . 伟大的!一个指向数组的指针数组怎么样?这很相似。元素类型显示在左侧,尺寸标注显示在右侧。同样,需要括号,因为否则数组将成为一个整数指针的多维数组:
就是这样!安 指向3 int数组的5个指针数组 . 功能呢?我们刚刚学到的关于函数的知识也是正确的。让我们声明一个接受int的函数,它返回指向另一个不接受参数并返回void的函数的指针:
我们需要括号,因为他和上面的理由一样。我们现在可以调用它,并调用再次指向的返回函数。
返回指向函数的指针返回指向函数的另一指针这个怎么样?
?换句话说,一个 函数taking int返回指向函数taking bool的指针返回指向函数taking double并返回void的指针 看起来像吗?答案是你只是把它们筑巢:
你可以做无数次。实际上,您也可以返回指向数组的指针,就像返回指向函数的指针一样:
这是一个 函数taking int返回指向函数taking bool的指针返回指向数组3 int的指针 这和警察有什么关系?
既然上面解释了如何从基本类型构建complexer类型,那么您可以
这个
将声明名称具有类型
指向常量的指针指向常量int的指针
. 你可以改变
而且两者都不
让我们将此应用于上面的函数指针:
这实际上会声明数组包含常量指针。因此,在创建(并初始化)数组之后,
指针
是警察,因为
结论声明函数和数组的C++和C方式实际上有点令人困惑。您必须首先了解它,但是如果您了解它,您可以使用它编写非常紧凑的函数声明。 |
![]() |
2
15
这是你需要的吗? |
![]() |
3
15
在这种情况下,做一个
有了它,应该是:
以获取数组常量的实际内容。
编辑
:从中删除指针部分
|
![]() |
4
1
使用VisualStudio 2008,我得到:
|
![]() |
5
1
我不确定这是否适用于“c”。它在“C++”中起作用:
诀窍在于
|
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 3 月前 |
![]() |
bairog · 从按属性筛选的对象数组字典中创建值数组 3 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 4 月前 |
![]() |
Geremia · 2D NumPy数组+1D数组? 4 月前 |
![]() |
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 5 月前 |
![]() |
Paul Williams · 迭代数组时输出有问题 5 月前 |