如何为静态数组的内容分配指针数组?

时间:2009-06-29 18:57:22

标签: c arrays pointers

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的内容,但不知道语法,或者是否可能。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

只需

tableData[row_index] = myData[row_index]

答案 1 :(得分:1)

tableData代表什么?

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

如果要表示字符串的2D数组(这是当前声明的含义),则应将其设置为tableData[i] = myData[x]

myData[x][y]是单个字符串,而不是字符串数组。在您的代码段的最后一行,您尝试将其分配给需要字符串数组的内容。这不是有效的操作。