C结构取消引用必需的Lvalue

洛伦兹·凯尔

我目前在borland C中进行编码,我在结构解除引用方面遇到问题。current-> value = x; 给一个左值必需的错误。当“值”为char时,不会发生这种情况。反正有将x的值赋给current-> value吗?

#include<stdio.h>
#include<conio.h>

char x[16];
FILE *fin;

struct node {
    char value[16];
    struct node *next,*prev;
};
struct node *current;

void main(){
    fin = fopen("tokens.ctr","r");
    current = (struct node*) malloc(sizeof(struct node));
    fscanf(fin,"%s",&x);
    current->value = x; 
}
汤姆·坦纳

简而言之,因为c不允许您复制这样的数组。您必须使用循环或使用memcpyot复制数组的每个元素strcpy

顺便,

  • 没有必要在这样的文件范围内声明x和fin。您应该最小化变量的范围。
  • main必须返回int,而不是void
  • 不要抛弃来自的回报malloc它返回一个void *可以分配给任何其他指针类型的。
  • fscanf如果任何令牌的长度为16个字符或更多,则您的通话可能会发生未定义的行为

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C结构取消引用需要Lvalue

来自分类Dev

C ++取消引用结构指针

来自分类Dev

C ++-结构构造函数,尝试取消对结构指针的引用时重新定义错误

来自分类Dev

C ++:取消引用指针

来自分类Dev

如何取消分配从Swift结构引用的UnsafeMutablePointer

来自分类Dev

如何在Rust中将C / C ++ void *取消引用以进行结构化或回调?

来自分类Dev

在C中使用typedef结构时,将指向不完整类型错误的指针取消引用

来自分类Dev

C取消引用不完整类型结构的指针

来自分类Dev

C ++-重载结构取消引用运算符,并在unique_ptr中使用它

来自分类Dev

C / C ++ nullptr取消引用

来自分类Dev

C / C ++ nullptr取消引用

来自分类Dev

取消引用结构是否会返回该结构的新副本?

来自分类Dev

如何取消引用结构内结构的指针数组的索引

来自分类Dev

C ++引用结构数组

来自分类Dev

C:如何取消引用void **?

来自分类Dev

C:如何取消引用void **?

来自分类Dev

C ++指针与取消引用的对象

来自分类Dev

取消引用NULL指针C ++

来自分类Dev

C ++:地址的取消引用和地址的取消引用

来自分类Dev

C ++:地址的取消引用和地址的取消引用

来自分类Dev

在C ++中引用C结构

来自分类Dev

引用C ++中的C结构

来自分类Dev

取消引用结构指针并存储它与指针vs memcpy?

来自分类Dev

结构是否取消引用有效的OpenCL?

来自分类Dev

传递给函数的结构数组,取消引用 -> 和 * 之间的差异

来自分类Dev

C中的交叉引用结构

来自分类Dev

C结构如何引用自身?

来自分类Dev

显式取消引用C ++中的指针

来自分类Dev

在C ++中声明取消引用的指针