如何将双指针中的单词分配给C中的新数组?

如何将双指针中的单词分配给C中的新数组?,c,arrays,string,function,pointers,C,Arrays,String,Function,Pointers,我的目标是编写一个函数,计算文件中以字母表的每个字母开头的单词数 目前,我有一个双指针,在每个索引处存储文件中的每个单词。 我试着使用strcpy和=将双指针中的值分配到一个新的字符数组,然后从中找到每个单词的第一个字母,但我不知道如何使它工作 目前的职能: int alphabetical_word_count(char **words) { int w; int j; int count[26]; char *mots[5000]; for

我的目标是编写一个函数,计算文件中以字母表的每个字母开头的单词数

目前,我有一个双指针,在每个索引处存储文件中的每个单词。 我试着使用strcpy
=
将双指针中的值分配到一个新的字符数组,然后从中找到每个单词的第一个字母,但我不知道如何使它工作

目前的职能:

  int alphabetical_word_count(char **words) {
    int w;
    int j;
    int count[26];
    char *mots[5000];
  
    for (w = 0; w < sizeof(words); w++) {   
      *mots[w] = words[w];
//also tried strcpy(*mots[w], words[w]);
      printf("%c\n", *mots[w]);
    }

    for (j = 0; j < 27; j++) {
      if ((mots[j] ==  65+j) || (mots[j] == 97+j)) {
        count[j]++;
      }
    }
 }
int字母顺序单词计数(字符**单词){
int w;
int j;
整数计数[26];
char*mots[5000];
对于(w=0;w
到底什么不起作用?你还没告诉我们。您可以执行
mots[w]=words[w]
为什么需要创建所有单词的新数组?只需使用原始数组。您需要将数组的长度作为参数传递给函数。不要使用幻数。使用
isalpha()。不是元素的数量。