通常我只是将一个数组传递给一个函数,但是,我正在做一个家庭作业,我的教授说要使用一个C-Strings数组,我想使用一个函数。但是,我想不出如何将它发送到函数。任何帮助都会很棒。
答案 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])
{
}