C语言结构体能否整体赋值

先放结论

可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量,但是需要满足一个条件。

整体赋值规则

ansi/iso C规定:“相同类型的结构体是可以直接赋值的”;
合法赋值: 如date1和date2都是date结构体类型的变量,可以这样赋值:date1= date2;
非法赋值: 假设申明了两个成员列表完全一样的两个结构体类型(dataA,dateB),即使他们的成员列表是一样的,编译器会当作两个完全不同的类型,令两个结构体类型的变量间赋值,则是非法的。
但是这种问题不能靠试验获得准确的答案,因为你用的编译器支持并不表明其他编译器也支持。ansi/iso C规定的合法行为,编译器是必须支持的。

举例说明

#include "stdio.h"struct date
{int i;
float x;
} d1={20,9.1};void main()
{struct date d2;
d2=d1;
printf("%d, %f\n",d2.i,d2.x);
}

C语言结构体能否整体赋值相关推荐

  1. c语言 结构体数组的赋值

    c语言 结构体数组的赋值 //**创建结构体** #include<stdio.h> struct Class{int id;char name[10]; }; //******结构体数组 ...

  2. C语言 | 结构体成员数组赋值的问题

    C语言只有在定义字符数组的时候才能用"="来初始化变量,其它情况下是不能直接用"="来为字符数组赋值的,之所以不能赋值成功,是因为数组名是一个指针常量,指向固定 ...

  3. c语言如何为结构数组赋值,C语言结构体数组同时赋值的另类用法

    说到C语言结构体数组的同时赋值,许多人一想就会想到用以下的这种方法,咱们来写一个例子: #include struct student { int a; int b ; int c ; }; stru ...

  4. C语言结构体中字符串赋值

    struct student { char name[20]; }; #include <stdio.h> main() { struct student s1; s1.name = &q ...

  5. C语言——结构体(全)

    目录 一.结构体的设计 二.结构体变量的初始化 2.1结构体在内存表示: 2.2结构体初始化: 2.3结构体指针变量 2.4结构体嵌套结构体 三.结构体成员访问 3.1.结构体成员访问 3.2.结构体 ...

  6. c语言2个字符串可以相互赋值吗,c语言结构体2之变量赋值于字符串

    #include #include struct dangdang { char email[]; char name[]; char addr[]; int num; int bugnum; cha ...

  7. C语言的几种结构体Struct的赋值方法

    C语言的几种结构体Struct的赋值方法 1. 定义结构体类型 这里是两个结构体的基本结构. struct Init{int a;float b;double c; }I1; struct SIMPL ...

  8. C语言结构体赋值和有指针成员的结构体赋值

    1  结构体赋值 #include <windows.h>struct MyStruct {int a;int b;char c[20]; };int APIENTRY WinMain(H ...

  9. Go语言结构体的多字段赋值是并发安全的吗?

    多字段更新? 并发编程中,原子更新多个字段是常见的需求. 举个例子,有一个 struct Person 的结构体,里面有两个字段.我们先更新 Person.name,再更新 Person.age ,这 ...

最新文章

  1. CentOS7安装配置redis-3.0.0
  2. python处理流程-分析Python的Django框架的运行方式及处理流程
  3. 使有用计算机不注意卫生,对您有用的与电脑清洁相关的知识
  4. 基于curl的php多线程类(异步请求)
  5. 多租户的数据库方案分析
  6. EOS 帐户权限操作--你找不到的干货 (原创) 续集-EOS 3.0
  7. 互斥锁pthread_mutex_t的使用
  8. 在Axure中通过全局变量实现两个文本框与中继器联动
  9. 中国电信到美国的几条海缆线路图
  10. oracle关于字符串函数,Oracle字符串处理函数
  11. 笔记本如何不按Fn键就能实现F键的功能
  12. 讲座记录——科技论文写作及科研方法
  13. Linux安装中文输入法(Google拼音输入法)
  14. 从0到1设计通用数据大屏搭建平台
  15. java 端口流量统计_java—流量统计源码 | 学步园
  16. 读书笔记—情商:为什么情商比智商更重要
  17. libero soc 仿真74HC161
  18. C++加载lib和dll的方法
  19. 基尔霍夫定律的验证与multisim仿真(附工程文件)
  20. “疫情待业在家做跨境电商,两年全款买了房”:你看不起的行业,往往很赚钱...

热门文章

  1. ASN.1的PER编码例子
  2. 用单流802.11n实现的VoWiFi
  3. dxc 2.0 线程的创建和启动
  4. Win10 平板 关闭屏幕不休眠 平板电源键 锁屏 程序
  5. 2021年N1叉车司机复审考试及N1叉车司机作业考试题库
  6. hawk物联网组态工具_万德物联平台|智能供电整体解决方案之物联网在线组态软件...
  7. 【音频处理】乐器音符播放时电流处理 ( 使用均衡器调节低频 )
  8. 讲一点色相、饱和度、明度
  9. 联想笔记本 插上电源适配器左侧接口指示灯不亮 电池不充电怎么办
  10. 双通道内存和单通道的区别是什么