如何在c中的函数中访问指针数组

时间:2018-04-04 10:16:26

标签: c

我有一个指针数组,然后我尝试访问函数中的指针数组的值,但它崩溃了。 为什么以及如何访问值pls?

char* test[3][1024]={"Trans1","Trans2","Trans3"};
creerBlock(test,3, NULL,1);
extern BLOCK* creerBlock(char* transactions[], int nbTransactions, char *pHashCodePrec, int numBloc)

我试过了:

printf("%s", *transactions[0]);

并且:

printf("%s", transactions[0]);

2 个答案:

答案 0 :(得分:0)

你应该使用

printf("%s", *transactions);   

表示第一个元素 和

printf("%s", *(transactions+1));

表示第二个元素。 因为trasactions的类型为char *

答案 1 :(得分:0)

由于 char * 可以是一个数组,通过编写 char * test [3] [1024] ,您将创建一个三维数组。您应该在 char * test [3] char test [3] [1024] 之间进行选择。

然后你可以使用:

printf("%s", transactions[0]);