C语言 如何将命令行参数中给出的整个单词数组直接传递给函数?



我想问一下,除了这个之外,是否有不同的将单词从字符串的 comand 行数组传递给这个函数:

//input given: $> ./main tail degree sheet nose noise base boy
//declaration of function: int ll_insert_words(struct linked_list_t* ll, int N, ...);
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include "linked_list.h"
int main(int argc,char** argv) {
if (argc <= 1) {
printf("Not enough arguments");
return 9;
}
struct linked_list_t* ll = ll_create();
if (ll == NULL) {
printf("Failed to allocate memory");
return 8;
}
for (int i = 0; i < argc - 1; i++) {
ll_insert_words(ll, 1, *(argv + 1 + i));
}
ll_display(ll);
ll_clear(ll);
free(ll);
return 0;
}

我想知道如何将数组直接传递给函数。我的意思是:

ll_insert_words(ll, 12, "list", "among", "sharp", "has", "coat", "consonant", "old", "trouble", "require", "wear", "band", "real");

但是将所有"列表"等交换到数组中。

你需要将一个(char**(指针传递给函数。将函数声明更改为:

int ll_insert_words(struct linked_list_t* ll, char** words, int number_of_words);

然后使用以下参数调用它:

ll_insert_words(ll, argv, argc);

然后在函数中按照这些思路写一些东西:

for (i = 0; i < number_of_words; i++)
{
ll_insert(ll, words[i]);
}

相关内容

  • 没有找到相关文章

最新更新