C语言「左右值生死线」:指针与赋值的隐形边界

简介: 左值有地址、可赋值(如变量),右值是临时值、无地址(如字面量、表达式结果)。指针只能指向左值,赋值目标也必须是左值。`a++`返回右值,`++a`返回左值——混淆二者是大量编译错误与逻辑Bug的根源。

很多Bug根源,只因为分不清左值、右值

1. 一句话区分

  • 左值:拥有独立内存地址,能放东西、可取地址(变量、数组元素)
  • 右值:临时数值,无内存、用完消失(字面量、表达式结果)
int a;
a = 10;   // a左值(可赋值),10右值(纯数据)
&a;       // 左值可取地址
&(a+1);   // 报错!a+1是临时右值,没有地址

2. 高频暗坑:前后自增不同命

++a;  // 左值:本体更新,有地址
a++;  // 右值:返回旧临时值,无地址

// 非法:右值不能赋值
(a++) = 10;
// 合法:左值可以赋值
(++a) = 10;

3. 核心结论

指针只能指向左值
赋值只能写给左值
所有“不能取地址、不能赋值”的报错,全是踩了右值红线。

相关文章
|
2天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
10236 34
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
14天前
|
人工智能 安全 Linux
【OpenClaw保姆级图文教程】阿里云/本地部署集成模型Ollama/Qwen3.5/百炼 API 步骤流程及避坑指南
2026年,AI代理工具的部署逻辑已从“单一云端依赖”转向“云端+本地双轨模式”。OpenClaw(曾用名Clawdbot)作为开源AI代理框架,既支持对接阿里云百炼等云端免费API,也能通过Ollama部署本地大模型,完美解决两类核心需求:一是担心云端API泄露核心数据的隐私安全诉求;二是频繁调用导致token消耗过高的成本控制需求。
5921 14
|
21天前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
23166 120
|
8天前
|
人工智能 JavaScript API
解放双手!OpenClaw Agent Browser全攻略(阿里云+本地部署+免费API+网页自动化场景落地)
“让AI聊聊天、写代码不难,难的是让它自己打开网页、填表单、查数据”——2026年,无数OpenClaw用户被这个痛点困扰。参考文章直击核心:当AI只能“纸上谈兵”,无法实际操控浏览器,就永远成不了真正的“数字员工”。而Agent Browser技能的出现,彻底打破了这一壁垒——它给OpenClaw装上“上网的手和眼睛”,让AI能像真人一样打开网页、点击按钮、填写表单、提取数据,24小时不间断完成网页自动化任务。
1917 4

热门文章

最新文章