谁能帮我解决这个结构/指针问题吗?

标签 c pointers struct

strcpy((*pointeur).caractere, x);

我使用 strcpyx 的值复制到 (*pointeur).caractere 并定义结构

typedef struct cle{
    char caractere;
    int compteur;
    struct cle *suivant;
}cle_t;

并声明指针

cle_t *pointeur;

但是编译器告诉我

"invalid conversion from 'char' to 'char*'"

"initializing argument 1 of `char* strcpy(char*, const char*)' "

我不明白出了什么问题...... 谢谢大家~

最佳答案

敬礼!

caractere 是一个字符,strcpy 适用于字符串。根据您想要执行的操作,有两种解决方案(使用您的标识符,我猜您属于第一种情况)。

  • 如果xchar,则使用pointeur->caractere = x(不需要strcpy来复制字符)。
  • 如果 xchar*char[],则将 caractere 声明为带有足够的长度(即动态分配的char数组或指向char的指针),然后您可以调用strcpy

关于谁能帮我解决这个结构/指针问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13323503/

相关文章:

c - Strtol 未返回正确的 endptr - C

c++ - 如何使它成为一个数组?

c++ - 初始化指向 int 数组的指针

c - C 中的堆没有释放

c - 结构体指针与其数组数据成员之间的类型不兼容

c++ - 线程池应该如何在C中实现?

c - MPI vector 乘法

c++ - CS高级项目思路涉及Unix系统编程

c++ - 如何区分两个独立程序的文件和公共(public)文件

c - C 中的字符串结构变量赋值错误