int *p = NULL 和*p = NULL 有什么区别

2023-11-08

int p = NULL 和p = NULL 有什么区别

int *p = NULL

  • 这时候我们可以通过编译器查看p 的值为0x00000000。这句代码的意思是:定义一个指针变量p,其指向的内存里面保存的是int 类型的数据;在定义变量p 的同时把p 的值设置为0x00000000,而不是把.*p 的值设置为0x00000000。这个过程叫做初始化,是在编译的时候进行的.
  • 明白了什么是初始化之后,再看下面的代码:
int *p;
*p = NULL;
  • 同样,我们可以在编译器上调试这两行代码。第一行代码,定义了一个指针变量p,其指向的内存里面保存的是int 类型的数据;但是这时候变量p 本身的值是多少不得而知,也就是说现在变量p 保存的有可能是一个非法的地址。第二行代码,给*p 赋值为NULL,即给p指向的内存赋值为NULL;但是由于p 指向的内存可能是非法的,所以调试的时候编译器可能会报告一个内存访问错误。这样的话,我们可以把上面的代码改写改写,使p 指向一块合法的内存:
int i = 10;
int *p = &i;
*p = NULL;
  • 在编译器上调试一下,我们发现p 指向的内存由原来的10 变为0 了;而p 本身的值, 即内存地址并没有改变.
  • 经过上面的分析,相信你已经明白它们之间的区别了。不过这里还有一个问题需要注意,也就是这个NULL。注意NULL 就是NULL,它被宏定义为0:#define NULL 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

int *p = NULL 和*p = NULL 有什么区别 的相关文章

  • 使用链表进行堆排序

    我想知道是否有人曾经使用链表进行堆排序 如果他们可以提供代码 我已经能够使用数组进行堆排序 但尝试在链表中进行排序似乎不切实际 而且在你知道的地方很痛苦 我必须为我正在做的项目实现链接列表 任何帮助将不胜感激 我也用C 答案是 你不想在链表
  • 是否可以使用 http url 作为 DirectShow .Net 中源过滤器的源位置?

    我正在使用 DirectShow Net 库创建一个过滤器图 该过滤器图通过使用 http 地址和 WM Asf Writer 来流式传输视频 然后 在网页上 我可以使用对象元素在 Windows Media Player 对象中呈现视频源
  • 如何使用 openSSL 函数验证 PEM 证书的密钥长度

    如何验证以这种方式生成的 PEM 证书的密钥长度 openssl genrsa des3 out server key 1024 openssl req new key server key out server csr cp server
  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • strlen() 编译时优化

    前几天我发现你可以找到编译时strlen使用这样的东西 template
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • Libev,如何将参数传递给相关回调

    我陷入了 libev 中争论的境地 通常 libev 在类似的函数中接收包 接收回调 没关系 但是实际操作中 我们需要派遣一个亲戚 写回调 根据收到的包裹处理具体工作 例如 S RECV MSG pstRecvMsg S RECV MSG
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • wordexp 失败时我们需要调用 wordfree 吗?

    wordexp 失败时我们需要调用 wordfree 吗 在某些情况下 调用 wordfree 似乎会出现段错误 例如 当 wordfree 返回字符串为 foo bar 的错误代码时 这在手册页中并不清楚 我已经看到在某些错误情况下使用了
  • 如何防止 Blazor NavLink 组件的默认导航

    从 Blazor 3 1 Preview 2 开始 应该可以防止默认导航行为 https devblogs microsoft com aspnet asp net core updates in net core 3 1 preview
  • 如何从 Boost.PropertyTree 复制子树

    我有一些boost property tree ptree 我需要树来删除一些具有特定标签名称的元素 例如 xml 表示源ptree如下
  • MySQL 连接器 C++ 64 位在 Visual Studio 2012 中从源代码构建

    我正在尝试建立mySQL 连接器 C 从源头在视觉工作室2012为了64 bit建筑学 我知道这取决于一些boost头文件和C 连接器 跑步CMake生成一个项目文件 但该项目文件无法编译 因为有一大堆非常令人困惑的错误 这些错误可能与包含
  • SQLAPI++ 的免费替代品? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何免费 也许是开源 的替代品SQLAPI http www sqlapi com 这个库看起来
  • 在哪里可以找到 Microsoft.Build.Utilities.v3.5

    如何获取 Microsoft Build Utilities v3 5 我正在使用 StyleCop 4 7 Stylecop dll 中的 StyleCop msbuild 任务似乎依赖于 Microsoft Build Utilitie
  • C++ 指针引用混淆

    struct leaf int data leaf l leaf r struct leaf p void tree findparent int n int found leaf parent 这是 BST 的一段代码 我想问一下 为什么
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • 在 C# 的 WebAPI 中的 ApiController 上使用“传输编码:分块”提供数据

    我需要服务分块传输使用编码数据API控制器 因为我无权访问HttpContext or the Http请求 我有点不知道在哪里写入响应以及在哪里刷新它 设置如下 public class MyController ApiControlle
  • 如果将变量设置为等于新对象,旧对象会发生什么?

    假设我们有一个 X 类not有一个超载的operator 功能 class X int n X n 0 X int n n n int main X a 1 an object gets constructed here more code
  • 如何为有时异步的操作创建和实现接口

    假设我有数百个类 它们使用 计算 方法实现公共接口 一些类将执行异步 例如读取文件 而实现相同接口的其他类将执行同步代码 例如将两个数字相加 为了维护和性能 对此进行编码的好方法是什么 到目前为止我读到的帖子总是建议将异步 等待方法冒泡给调

随机推荐

  • 【华为OD统一考试B卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 如何用ChatGPT辅助写论文

    ChatGPT先进功能创造了巨大的需求 该AI工具在推出后的两个月内就积累了超过1亿用户 最突出的功能之一是它能够在几秒钟内编写各种文本 包括歌曲 诗歌 睡前故事和散文 但是ChatGPT可以做的不仅仅是写一篇文章 更有用的是它如何帮助指导
  • 什么是IOC和DI?DI是如何实现的?

    什么是IOC和DI DI是如何实现的 IOC Inversion of Control 叫控制反转 DI Dependency Injection 叫依赖注入 是对IOC更简单的诠释 IOC 控制反转是把传统上由程序代码直接操控的对象的调用
  • IDEA上传代码到Gitee

    提示 这里可以使IDEA上传代码到Gitee 需要自己手动操作 目录 前言 一 打开Gitee官网 进行注册登录 1 登录进去找到右上角添加仓库 进行所示图操作 二 启动IDEA 1 IDEA关联Gitee 2 找到git下载好git程序
  • SPI协议的verilog实现:利用spi协议配置寄存器

    状态机状态跳转图 因常常需要对寄存器进行配置 因而学习了V3学院的视频课 利用spi协议对寄存器进行配置 在此做个记录 以便日后回顾 上图为状态机状态转移图 需要先将需要配置的寄存器的信息存放在ROM中 然后将数据读出来 通过SPI协议发送
  • Vue3快速入门教程

    学某个新技能时 大多数人倾向于 一开始就从头到尾完整学一遍 甚至有人翻来覆去重复学很多遍也达不到熟记于心 我个人认为 这不是最好的办法 我的建议的是 面向需求 or 面向问题来学习 最开始你可能不了解你要实现的效果会涉及哪些技术知识点 那么
  • 六十七.深度优先遍历C语言实现(有向图)

    include
  • ApplicationContext类继承设计

    先上类图 BeanFactory是Spring IoC的核心接口 BeanFactory相关的类设计可以看做是Spring的核心骨骼 为整个框架设计了一个基本的核心架构 但只有骨骼 没有血肉 也是不完整的 这样一个核心的骨架难以在实际开发中
  • 【知识蒸馏】Knowledge Review

    GiantPandaCV引言 知识回顾 KR 发现学生网络深层可以通过利用教师网络浅层特征进行学习 基于此提出了回顾机制 包括ABF和HCL两个模块 可以在很多分类任务上得到一致性的提升 摘要 知识蒸馏通过将知识从教师网络传递到学生网络 但
  • 【无关技术·朋友圈朝花朝拾】月相

    月相 月相是以日月黄经差度数 以下的度数就是日月黄经差值 来算的 农历每一天的月相都有自己的专门名字 详情请看https baike baidu com item 月相是日月黄经差度数 以下的度数就是日月黄经差值 来算的 共划分八种 新月
  • Java集合之LinedList

    LinedList类实现了List接口 他提供了 双向的 链表数据结构 在该链表中的每一个元素除了存储本身的内容之外还存储指向前一个元素的指针和指向后一个元素的指针 下图展示了一个包含三个元素的双向链表 每个链表都有一个头部 头部指向第一个
  • Jdk8 foreach语法需要break怎么办?

    forEach里的return只相当于continue 没有break语法 在这里我总结了3种解决方案供你选择 exception filter anyMatch forEach里的return只相当于continue 没有break语法
  • 【Unity】让动画系统支持相对坐标

    假如你有一个很简单的动画 并且需要应用到许多物体上 但如果你挂载同一个动画到两个物体上 就会这样 解决方案 仅测试过 legacy 动画 挂载此脚本到物体上 using System Collections using System Col
  • 新手小白学影视剪辑50天日入500,她的方法秘籍全在这里了!【覃小龙课堂】

    hi 我是您的老朋友 覃小龙 您可以称呼我为覃总 今天给您带来的主题干货是一位女学员的总结 新手小白学影视剪辑50天日入500 她的方法秘籍全在这里了 做视频剪辑无论新手老手 无非就是这几点 1 怎么样才能不侵权 过审核发布 2 怎么样才能
  • upload-labs靶场学习笔记1-21关

    目录 Pass 01 前端验证 Pass 02 MIME验证 Pass 03 黑名单验证 特殊后缀 Pass 04 黑名单验证 htaccess重写解析绕过上传 Pass 05 黑名单验证 user ini 点空格点 Pass 06 黑名单
  • TD联合Modelsim进行功能仿真

    TD联合Modelsim进行功能仿真 1 引言 2 基本配置流程 2 1 TD软件设置操作 2 2 Modelsim软件方面设置 1 引言 最近在接触使用国产安路科技公司的FPGA进行相关的开发 TD Tang Dynasty 作为一款安路
  • 项目研发心得总结

    前言 近期因学校实验室项目需求 组建6人小团队研发一个网站 框架采用 NET MVC EF 数据库为SQL Server 简单总结一二 一 数据库设计方面 网站的根基 数据库 最开始源自于和甲方进行需求沟通 由于甲方节奏较缓慢 在未完全确定
  • 用certutil 注册根证书到nss/firefox

    环境 Centos 6 5 certutil 参数 所有命令可参见系统自带帮助 通俗易懂 certutil 选项 参数 root localhost lftshell certutil H A Add a certificate to th
  • e5服务器系列天梯图,至强e5系列cpu天梯图_2020年5月至强e5天梯图排行

    CPU的种类多种多样 性能也不尽相同 有很多朋友都非常关注cpu市场的情况 因为一款CPU性能的好坏 决定了我们电脑的运算能力高低 今天我们主要关注的是英特尔e5系列cpu 为了直观对比e5系列cpu的性能情况 我们可以参考至强e5系列cp
  • int *p = NULL 和*p = NULL 有什么区别

    int p NULL 和p NULL 有什么区别 int p NULL 这时候我们可以通过编译器查看p 的值为0x00000000 这句代码的意思是 定义一个指针变量p 其指向的内存里面保存的是int 类型的数据 在定义变量p 的同时把p