关于C++指针的学习

简介: c++指针学习

菜鸟教程中,对于C++指针,给出了一段简短的代码:

一、存储空间

int main ()
{
   
   int  var1;
   char var2[10];

   cout << "var1 变量的地址: ";
   cout << &var1 << endl;

   cout << "var2 变量的地址: ";
   cout << &var2 << endl;

   return 0;
}

var1是整数类型的变量,被分配了4个字节的空间存储;var2是字符类型数组,包含10个连续元素,每个元素占1字节。
现在只分配了对应大小的内存空间,由于未初始化,所以现在现在分配的存储内容是随机的。

输出的结果是
var1 变量的地址: 0xbfebd5c0
var2 变量的地址: 0xbfebd5b6
内存是十六进制,c0-b6 = 10

结合栈的知识:
假设var1存的四个字节的内存是1234,那么进栈时是4先入栈,地址从高到低,对应:
4 c3
3 c2
2 c1
1 c0 <---var1首地址

假设var2存的十个字节为1-10
那么接着压入就是
10 bf
9 be
.
.
1 b6 <---var2首地址
因此,地址之差就是var2内存10。在了解了存储空间后,进行到指针内容。

二、指针

同样菜鸟教程也给到了一个简短的代码

int main ()
{
   
   int  var = 20;   // 实际变量的声明
   int  *ip;        // 指针变量的声明

   ip = &var;       // 在指针变量中存储 var 的地址

   cout << "Value of var variable: ";
   cout << var << endl;

   // 输出在指针变量中存储的地址
   cout << "Address stored in ip variable: ";
   cout << ip << endl;

   // 访问指针中地址的值
   cout << "Value of *ip variable: ";
   cout << *ip << endl;

   return 0;
}

图示如下:
0x00
0x00
0x00
0x14 <--c0首地址
占了四个字节
代码里使用的是int ip,但是指针变量只存一个地址,也就是四个字节最后入栈的首地址。在输出ip时,只会读出c0
在输出
ip时,告诉编译器请从 ip 存储的地址开始,连续读取 sizeof(int) = 4 个字节,并按整数规则解释,最后读出20

0x00
0x00
0x00
0x14 <--c0首地址
如果定义ip时,使用的是char ip,
注意此时,ip = &var; 应该把var强制字符化
ip = (char)&var
此时,输出ip时会读出c0;输出
ip会读出0x14,还是20
但注意,输出使用的命令是cout,cout 遇到 char 类型时,会把它当作字符输出,而不是数字。注意看,此时的ip对应的c0与*ip对应的20都是不可打印的字符,所以最终输出都是[方框]

相关文章
|
6月前
|
传感器 算法 物联网
从裸机到智慧物联:嵌入式RTOS任务调度原理深度剖析
本文深入剖析RTOS任务调度原理,从裸机程序的局限性切入,揭示超级循环在实时性、优先级响应和周期精度上的缺陷;系统在后面将讲解任务控制块、状态机、调度算法与上下文切换四大核心机制,助开发者理解vTaskDelay等API背后的本质。
313 5
|
6月前
|
存储 弹性计算 运维
阿里云服务器怎么买?四种主要方式详解+注意事项,新手购买参考教程
本文介绍了阿里云服务器的四大购买方式的适用场景与注意事项:自定义购买支持全参数精细配置,适合有技术基础的企业用户;快速购买通过预设模板简化流程,助力新手快速上云;活动购买提供低至38元/年的限时优惠,覆盖99计划、学生300元抵扣金、百炼先用后返等多重权益;云市场镜像购买提供预装环境的开箱即用方案,适合中小企业快速建站。
|
6月前
阿里云无影灵豆是什么?无影云电脑个人版灵豆费率、灵豆包费用价格及抵扣规则
无影灵豆是阿里云无影云电脑个人版专属计费单位,衡量云电脑/云游戏单位时间资源消耗量。不同规格(如经济、电竞模式)及游戏类型对应不同费率,例如经济模式4灵豆/小时、《黑神话》80灵豆/小时,支持按需购买灵豆包。无影云电脑个人版官方页面:https://t.aliyun.com/U/Qlbmzx
492 3
|
6月前
|
JSON NoSQL API
开源项目观察|ds4:本地 Agent 推理,不只是把模型跑起来
Redis作者antirez新开源项目ds4(DwarfStar 4),是专为DeepSeek V4 Flash设计的轻量级本地推理引擎。聚焦Agent场景,支持OpenAI/Anthropic API、Disk KV Cache复用、工具调用精准映射与长上下文优化,在MacBook等高端个人设备上实现高效端到端推理。
1695 3
开源项目观察|ds4:本地 Agent 推理,不只是把模型跑起来
|
6月前
|
存储 弹性计算 人工智能
2026年阿里云优惠券领取及使用教程,新购、续费、升级可用!
阿里云2026年推出多类优惠券(代金券、满减券、折扣券),覆盖学生300元无门槛券、新用户10元满减、AI焕新季礼包等,适用于ECS、OSS等主流云产品,不支持域名及云市场商品。可通过权益中心、高校计划等入口领取,登录费用中心查看并结算时自动抵扣。
726 6
|
6月前
|
人工智能 监控 自动驾驶
2026 Agent爆发年,多数企业卡在了第一步
Google报告显示企业AI渗透加速,Agent热度攀升,但多数企业仍卡在落地首步:缺的不是模型,而是能跑起来的工程底座——数据治理、流程打通、权限管控、AgentOps及推理成本控制等基础设施短板亟待补齐。
275 7
|
6月前
|
人工智能 算法 搜索推荐
深度集成 AI 面部分析 API 的技术路径与实践
玩美移动AI面部分析API,支持亚像素级关键点追踪、肤色量化(Hex/ITA)及语义化脸型/五官识别,输出结构化3D面部数据。开发者可快速集成,实现智能粉底匹配、脸型自适应推荐等超个性化美妆场景,跨端一致、开箱即用。(239字)
339 6
|
6月前
|
机器学习/深度学习 人工智能 文字识别
DeepSeek 里的公式怎么复制到 Word、WPS?保留 LaTeX 和可编辑公式的方法
DeepSeek公式复制到Word/WPS常遇格式错乱、不可编辑等问题。本文详解用DeepShare插件按目标软件(Word/WPS/MathType/Markdown工具)选择LaTeX、Markdown或原生格式一键复制,保留可编辑性与专业排版,提升数理文档整理效率。
|
6月前
|
SQL 自然语言处理 运维
数字员工厂商宣传的"语义理解"和"智能问答"到底有什么区别?
本文剖析数字员工必备的三大能力:Agent Harness(系统联通)、工作流编排(业务闭环)、查数/分析能力(数据驱动),并深入辨析“语义理解”与“智能问答”的本质差异及技术路线(NL2SQL、预置指标、本体语义层等),助力企业理性选型。