如何将C-Strings数组传递给函数

时间:2011-09-07 04:03:19

标签: c++

通常我只是将一个数组传递给一个函数,但是,我正在做一个家庭作业,我的教授说要使用一个C-Strings数组,我想使用一个函数。但是,我想不出如何将它发送到函数。任何帮助都会很棒。

4 个答案:

答案 0 :(得分:3)

将其作为双指针传递:

type myFunc(char **array) {
    ...
}

答案 1 :(得分:0)

好吧,因为一个c-string实际上只是一个字符数组,你不能只传递一个字符数组数组吗?

答案 2 :(得分:0)

那么,你知道数组的语法吗?你知道函数的语法吗?您如何猜测数组将作为参数传递?

如果您不确定,请查看您的C / C ++教科书。

答案 3 :(得分:0)

char **arr;

arr = malloc (sizeof (char *) * string_count);
for (i=0; i<string_count; i++)
{
  /* get string size */
  arr[i] = malloc (sizeof (char) * this_string_size);
  /* copy string into allocated */
}

function (char **arr, int string_count)
{
}

请记住在使用后释放记忆。

OR

char *arr[NOS_OF_SRINGS];

for (i=0; i<NOS_OF_STRINGS; i++)
  arr[i] = malloc (sizeof (char) * string_length);


function (char *arr[NOS_OF_STRINGS])
{
}

请记住释放分配的内存块。

OR

char arr[NOS_OF_STRINGS][STR_LENGTH];

/* copy stuffs */

function (char arr[NOS_OF_STRINGS][STR_LENGTH])
{
}