【问题标题】:How to assign array of pointers to content of static array?如何将指针数组分配给静态数组的内容?
【发布时间】:2009-06-29 18:57:21
【问题描述】:
char myData[505][3][50];   //2D array, each 50 chars long   
char **tableData[505] = {NULL};  

const char* text;
text = sqlite3_column_text(stmt, col_index);

strcpy(myData[row_index][c_index],text); 

tableData[row_index] = myData[row_index][c_index]; <--?  

我想将指向指针数组 tableData 的指针分配给静态数组 myData 的内容,但不知道语法,或者是否可能。有什么建议吗?

【问题讨论】:

  • myData 不是您编写的静态数组,而且您的数组是 3D(3 维),而不是评论所说的 2D。
  • @abelenky:他的数组是一维数组的二维数组。每个一维数组的大小为 50。这和他说的完全一样 :)
  • 警告 C4047: '=' : 'char ** ' 与 'char *' 的间接级别不同
  • 汤米,哎呀,是的。为什么 tableData[rowIndex] 被声明为 char** 数组?我认为它应该是 char* 数组。代表什么?

标签: c arrays pointers


【解决方案1】:

只是

tableData[row_index] = myData[row_index]

【讨论】:

    【解决方案2】:

    tableData 将代表什么?

    如果它要表示一个字符串数组(为了简单起见,我将在此答案中将char* 称为字符串),您应该将声明编辑为char* tableData[len];

    如果它要表示一个二维字符串数组(这是当前声明的含义),您应该将其设置为tableData[i] = myData[x]

    myData[x][y] 是单个字符串,而不是字符串数组。在你的 sn-p 的最后一行,你试图将它分配给需要一个字符串数组的东西。这不是一个有效的操作。

    【讨论】:

      猜你喜欢
      • 2018-04-15
      • 1970-01-01
      • 2014-11-23
      • 1970-01-01
      • 2021-11-29
      • 2022-01-14
      • 2019-04-23
      • 2011-02-23
      • 1970-01-01
      相关资源
      最近更新 更多