为作为结构一部分的char指针分配内存

use*_*853 1 c memory-management

我试图从用户读取一个单词,然后为该单词动态分配内存并将其存储在包含char*的结构数组中.我一直得到函数â'strlen的隐式声明,所以我知道我在某处出错了.

struct unit
{
  char class_code[4];
  char *name;
};

char buffer[101];
struct unit units[1000];

scanf("%s", buffer);

units[0].name = (char *) malloc(strlen(buffer)+1);
strcpy(units[0].name, buffer);
Run Code Online (Sandbox Code Playgroud)

Ken*_*oom 7

Implicit declaration of function 'strlen'意味着您忘记#include了声明它的标题,在这种情况下<string.h>

这是我在代码中看到的唯一错误.