++的左值和右值

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目

首先是这样一道题目。

若有定义int a[8];,则以下表达式中不能代表数组元素a[1]的地址的是(C)

A、&a[0]+1

B、&a[1]

C、&a[0]++

D、a+1

这个题目是做的对的,但是也基本是猜测,没有根本的依据,然后答案对了之后看别人的答案,其实也没有讲的很清楚。

甚至自己在codeblock上验证了一下,&a[0]++报错, &++a[0]正常。&a[0]++报错内容为

【lvalue required as unary '&' operand】 ,一元"&"操作数需要左值;针对左值右值,之前对这个概念是很不熟悉的,然后就自己百度。

百度了,看到了这样了的解释:

a++是左值吗?

不是。

a++只能作为右值,不能放到=的左边。

因为a++是对a的值自增后,把原来的对象返回,就是返回的是一个临时对象,因此a++就只能作右值。而++a返回的是a这个对象,所以可以作左值和右值。

所以就知道了为啥C错误。

二、知识点

1.左值右值

a++只能作为右值。

++a既可以做左值也可以做右值。

&只能作用于左值。取地址操作符&用于获取一个对象的地址,它要求操作数是一个具有持久内存位置的左值。

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

相关推荐
l1t24 分钟前
利用美团龙猫用libxml2编写XML转CSV文件C程序
xml·c语言·libxml2·解析器
Gu_shiwww6 小时前
数据结构8——双向链表
c语言·数据结构·python·链表·小白初步
你怎么知道我是队长7 小时前
C语言---循环结构
c语言·开发语言·算法
程序猿编码8 小时前
基于 Linux 内核模块的字符设备 FIFO 驱动设计与实现解析(C/C++代码实现)
linux·c语言·c++·内核模块·fifo·字符设备
mark-puls10 小时前
C语言打印爱心
c语言·开发语言·算法
西阳未落10 小时前
C语言柔性数组详解与应用
c语言·开发语言·柔性数组
小莞尔12 小时前
【51单片机】【protues仿真】基于51单片机数控直流稳压电源系统
c语言·stm32·单片机·嵌入式硬件·51单片机
小莞尔12 小时前
【51单片机】【protues仿真】基于51单片机密码锁系统
c语言·stm32·单片机·嵌入式硬件·51单片机
用户61204149221313 小时前
C语言做的停车场管理系统
c语言·后端·敏捷开发
野生的编程萌新13 小时前
【C++深学日志】C++编程利器:缺省参数、函数重载、引用详解
c语言·开发语言·c++