首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >双重赋值/if谓词可能吗?C

双重赋值/if谓词可能吗?C
EN

Stack Overflow用户
提问于 2014-04-25 07:47:00
回答 2查看 58关注 0票数 0

你能告诉我下一段代码是否可以工作吗?它的意思是什么?我说的是这一行: if((a=b=c)) st -一个已定义的结构。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
st* a;
st* b;
st* c;
. // build the struct c correctly with malloc etc
.
.
if((a=b=c)) - the line

是否存在结构c到a和b的双重赋值(浅复制?)

谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-04-25 07:49:37

b=c返回b的值(在c被赋值之后),它被赋值给a。它们是指针,所以它只复制4或8个字节,而不是结构。

票数 3
EN

Stack Overflow用户

发布于 2014-04-25 07:53:58

这行代码的意思相当简单,但总的来说,我会说它是无用的(无意冒犯)。

发生的情况是:

B(作为指针)指向c的相同内存位置,a(作为指针)指向b的相同内存位置(因此也指向c)

如果c为空,则返回false。

我会说这就像是在说

如果(c != 0)

就逻辑条件而言,添加了指针A和b的分配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23287143

复制
相关文章
双重指针赋值
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157439.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/14
4900
const修饰的双重指针赋值解惑
在c程序中,我们可能经常会使用到指针之间的赋值。 传统的赋值操作: char *cp = "c"; const char *ccp; ccp = cp; printf("*ccp:%c",*ccp); 会正常打印出*cpp所指的字符。但是下面的这段代码,就会出现问题: char **c = &cp; const char **cc; cc = c; printf("**cc:%c",**cc); 编译的时候提示,出现错误: 1>------ 已启动生成: 项目: oj1511, 配置: Debug Win3
用户1154259
2018/01/17
1K0
c++函数对象之谓词
概念: 返回bool类型的仿函数被称为谓词; 如果operator()接受一个参数,那么就叫一元谓词; 如果operator()接受两个参数,那么就叫二元谓词; 一、一元谓词 #include<iostream> using namespace std; #include <vector> #include <algorithm> //仿函数 返回值类型是bool数据类型,称为谓词 //一元谓词 class GreaterFive { public: bool operator()(int va
西西嘛呦
2020/08/27
4860
C++ typename的双重含义
这两种写法并没有任何区别,都是标记T是模板类型参数,可以是任何类型,包括用户自定义类型或是语言的基本类型。虽然而这在用于模板类型参数申明时的作用完全相同,但是仍建议使用typename,因为typename的字面意义即表示类型名称,更加符合其语义。而class则多用于类的申明,而非模板类型参数。当然,如果原有项目中均使用class,那么请与原有项目风格保持一致。
恋喵大鲤鱼
2018/09/27
1.3K0
java static再赋值_java static变量可以赋值吗?
可以赋值的。static的主要作用是静态成员,指该变量的实例在内存中之存放一次。赋值是可以随便改的。
全栈程序员站长
2022/09/13
2.5K0
java static再赋值_java static变量可以赋值吗?
C语言中的双重否定
  下列代码的目的是「将"分支转移"的信息提供给编译器,这样可以让编译器对其代码进行优化,以减少指令跳转带来的性能下降」。 __builtin_expect的意思是「允许程序员将最有可能执行的分支告诉给编译器」。
Qt君
2020/03/19
2.7K0
【C 语言】指针间接赋值 ( 直接赋值 和 间接赋值 | 在子函数中间接赋值 )
在 函数体 内部 , 声明普通变量 , 如果 获取该变量的地址 , 将该 地址 传递给 函数形参 , 在外部函数中 , 通过指针地址 , 修改内存中的数据 ;
韩曙亮
2023/03/29
3.9K0
【C 语言】指针间接赋值 ( 直接赋值 和 间接赋值 | 在子函数中间接赋值 )
2.7 C++赋值语句
在上一节说到,赋值语句是由赋值表达式和一个分号组成的,这一节来详细介绍下赋值语句,它是C++的重要组成部分。
小林C语言
2020/10/30
6080
谓词逻辑
如: 小明是个小学生 其中,小明 就是个体词, 是个小学生 就是谓词, 说明了客体的性质。 再如: 6 大于 5 其中 6 与 5 为个体词,大于 为谓词,说明了客体间的关系。
yhlin
2023/02/27
1.1K0
[PHP] foreach循环的引用赋值可能导致的问题
foreach($arr as &$value) 1.引用赋值符号&,是每次循环的时候,把当前元素变成地址,$value变量就是对应元素的地址,循环结束$value是一个指向最后一个元素的地址 2.当我下次循环,使用了这种方式foreach($arr as $value) ,会出现问题;foreach会把每个元素赋值给后面的$value变量 3.因此,逻辑就变成了,把每个元素修改给原数组的最后一个元素,最后一次循环会一直是前一次的结果 4.最好不用引用传递,用这种形式$arr[$key]改原数组,或者在下次循环时候换一个变量名
唯一Chat
2019/09/10
1.7K0
SQL谓词 ALL
ALL关键字与比较操作符一起创建谓词(量化比较条件),如果标量表达式的值与子查询检索到的所有对应值匹配,则该谓词为真。 ALL谓词将单个标量表达式项与单个子查询SELECT项进行比较。 具有多个选择项的子查询将生成SQLCODE -10错误。
用户7741497
2022/05/09
5850
SQL谓词 IN
IN谓词用于将值匹配到非结构化的项系列。 通常,它将列数据值与以逗号分隔的值列表进行比较。 IN可以执行相等比较和子查询比较。
用户7741497
2022/05/09
1.5K0
C++核心准则C.62:保证拷贝赋值对自我赋值安全
C.62: Make copy assignment safe for self-assignment C.62:保证拷贝赋值对自我赋值安全
面向对象思考
2020/03/25
3910
SQL谓词 ANY
ANY关键字与比较操作符一起创建谓词(量化比较条件),如果标量表达式的值匹配子查询检索到的一个或多个对应值,则该谓词为真。 ANY谓词将单个标量表达式项与单个子查询SELECT项进行比较。 具有多个选择项的子查询将生成SQLCODE -10错误。
用户7741497
2022/05/09
4720
c++ listnode 赋值_C++之ListNode[通俗易懂]
ListNode(int x) : val(x), next(NULL) {} //初始化当前结点值为x,指针为空
全栈程序员站长
2022/08/01
4000
java双重检查锁单例真的线程安全吗?
相信大多数同学在面试当中都遇到过手写单例模式的题目,那么如何写一个完美的单例是面试者需要深究的问题,因为一个严谨的单例模式说不定就直接决定了面试结果,今天我们就要来讲讲看似线程安全的双重检查锁单例模式中可能会出现的指令重排问题。
main方法
2021/04/07
3.6K1
单例模式--双重检验锁真的线程安全吗
单例模式是我们最熟悉不过的一种设计模式,用来保证内存中只有一个对象的实例。虽然容易,但里面的坑也有很多,比如双重检验锁模式(double checked locking pattern)真的是线程安全的吗?
程序员小明
2019/11/06
1.8K1
【C语言基础】结构体赋值
结构体在 C 程序中使用的较为频繁,能对数据有一定的封装的作用。对一个结构体赋值时,经常采用的方式是,分别对其成员变量赋值。那么能否将一个结构体用赋值号(“=”)直接赋值给另一个结构体呢?网上的答案不一,有说可以的,有说不可以的,有说这样的话两个结构体共用一块内存空间。我们可以从汇编语言的角度来看这个问题,测试程序: //test.c #include <stdio.h> int main() { struct foo { int a;
程序员互动联盟
2018/03/12
2.9K0
C++之赋值兼容原则
子类继承了父类的所有成员(除了构造函数和析构函数)。因此把子类看作父类是合情合理的。就像是父类是普通人,子类是超人。父类能完成的工作,子类一定能完成。子类能完成的工作,父类不一定能做。
zy010101
2020/04/08
4540
12.6 C++对象的赋值
对象的赋值只对其中的数据成员赋值,而不对成员函数赋值,类的数据成员中不能包括动态分配的数据,否则在赋值时可能会报错。
小林C语言
2021/07/08
1K0
12.6 C++对象的赋值

相似问题

“双重”赋值--应该避免吗?

62

C#:隐式数组列表赋值可能吗?

50

循环谓词中的赋值,需要括号吗?

14

javascript双重赋值

332

JavaScript双重赋值

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文