首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >int *(*papi[10])的含义是什么?

int *(*papi[10])的含义是什么?
EN

Stack Overflow用户
提问于 2014-07-14 13:32:09
回答 3查看 131关注 0票数 0

我使用cdecl并将其定义为“将papi声明为指针指向int的数组10”,因此我以这种方式编写代码。

代码语言:javascript
复制
int i = 10;
int *api[10];
api[0] = &i;
int *(*papi[10]);
papi = &api;

我得到一个错误:“数组类型'int (10)‘是不可分配的”

什么是正确的方式使用木瓜?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-14 13:46:16

我将短语“声明爸爸为指针指向int的数组10”解释为声明由10个指针组成的指向int.:的指针数组。)

尝试以下几点

代码语言:javascript
复制
#include < stdio.h>


int main( void )
{
    int i = 10;
    int *api[10] = { &i };
    int **papi[10];
    papi[0] = api;

    printf( "%d\n", ***papi );
}

输出是

代码语言:javascript
复制
10
票数 1
EN

Stack Overflow用户

发布于 2014-07-14 13:35:12

数组名是不可修改的l-值。不能将它们用作=运算符的左操作数。papi是一个数组名。变化

代码语言:javascript
复制
int *(*papi[10]);  

代码语言:javascript
复制
int *(*papi)[10]; // papi is a pointer to an array of 10 pointers to int
票数 4
EN

Stack Overflow用户

发布于 2014-07-14 13:38:26

不能将数组分配给C中的数组,您似乎要做的是:

代码语言:javascript
复制
int i = 10;
int *api[10];
api[0] = &i;
int *(*papi)[10];
papi = &api;

它将papi声明为指向指向int的10个指针的数组的指针。这是&api的类型,它使用指向int的10元素指针数组的地址。

HTH

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24737699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档