[英]How to pass an array of C-Strings to a function
通常,我只是將數組傳遞給函數,但是,我正在做作業,教授說要使用C字符串數組,而我想使用函數。 但是,我想不起來如何將其發送給函數。 任何幫助都會很棒。
將其作為雙指針傳遞:
type myFunc(char **array) {
...
}
好吧,由於c字符串實際上只是一個字符數組,難道您不只是傳遞一個字符數組數組嗎?
好吧,您知道數組的語法嗎? 您知道函數的語法嗎? 您如何猜測數組將作為參數傳遞?
如果不確定,請查看C / C ++教科書。
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)
{
}
使用后請記住釋放內存。
要么
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])
{
}
記住要釋放分配的內存塊。
要么
char arr[NOS_OF_STRINGS][STR_LENGTH];
/* copy stuffs */
function (char arr[NOS_OF_STRINGS][STR_LENGTH])
{
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.