当前位置:  技术问答>linux和unix

赋值不兼容的问题(C语言),很迷惑

    来源: 互联网  发布时间:2016-08-03

    本文导语:  a.h ************ typedef struct {   int a; }TEST; TEST a(); a.c ********* #include "a.h" TEST a() {   TEST test;   test.a = 60;   return test; } t.c ************ #include "a.h" main() {    TEST ttt;    ttt = a();           //就在这里发...

a.h
************

typedef struct
{
  int a;
}TEST;

TEST a();

a.c
*********

#include "a.h"
TEST a()
{
  TEST test;
  test.a = 60;
  return test;
}

t.c
************
#include "a.h"
main()
{
   TEST ttt;
   ttt = a();           //就在这里发生了赋值类型不兼容的问题
}

我是在linux中编译的 用的是gcc
在这里发生错误后,我又通过memcpy(&ttt, (TEST *)a(), sizeof(TEST));来替换,还是有错误
大家看看这是什么问题呢。

|
楼主错误是什么啊
你是怎么编译的

我把你的代码考到CentOS下编译没有出错 我在你的t.c最后加了一句 printf("%dn",ttt.a);
执行后输出60

|
试了下,没有问题啊!

|
跟gcc没有关系,谁说C语言可以结构体直接赋值呢?

|
编译器没那么智能,有时反而报的使人误解

    
 
 

您可能感兴趣的文章:

  • 让我迷惑的结构体赋值问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Lists(链表) 成员 assign():给list赋值
  • 如何定义一个全局变量,当我第一次使用,并且赋值以后,就不能再赋值,而成为常量
  • C++ Vectors 成员 assign():对Vector中的元素赋值
  • python赋值操作方法分享
  • python赋值操作方法分享 iis7站长之家
  • 对寄存器赋值
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • 用Sed处理后的结果给数组赋值的问题
  • C++ Bitsets 成员 Operators:比较和赋值bitsets
  • 变量赋值问题
  • gdb中使用set给变量赋值的问题
  • QString和char以及string之间的赋值详解
  • float fl = 999.666; 不能这么赋值吗?请问错到哪里了?
  • sp->callback或snmp_callback函数指针在哪里赋值?
  • 请问各位大虾,如何把一个String赋值给一个Char[]??
  • 请问这种情况怎样赋值??
  • 数组赋值问题,谢谢
  • 图像赋值???
  • 怎样给textarea的控件赋值?
  • shell脚本中的一个赋值问题,各位英雄多谢指教啊!!:)
  • 对一个int32的赋值需要加锁保护么?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3