簡體   English   中英

如何從 function 返回指向 char[][][] 的指針?

[英]How can i return a pointer to char[][][] from function?

我有一個static -char 數組定義為:

static const char city_names[1000][4][50];

我想從函數返回一個指向這個變量的指針,我嘗試了一個static_castvoid*但它失敗了。 如何返回指向char[][][]的指針?

指向數組的指針(更准確地說是數組的第一個元素,如果您將使用數組對其進行初始化)可以聲明為

static const char city_names[1000][4][50];

const char ( *p )[4][50] = city_names;

所以返回這樣一個指針的 function 聲明看起來像

const char ( *f( /* some parameters */ ) )[4][50];

在 function 中你可以寫

return city_names;

也就是說,如果你有一個聲明為

T a[N1][N2][N3];

其中 T 是某個類型說明符,N1、N2、N3 是指定數組大小的常量,那么您可以重寫聲明,如

T ( a[N1] )[N2][N3];

要獲得指向數組元素類型的指針,只需將記錄( a[N1] )替換為指針的聲明符,如

T ( *p )[N2][N3] = a;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM