指针的大小--sizeof问题

指针的大小--sizeof问题和sizeof使用规则  1、什么是sizeof   首先看一下sizeof在msdn上的定义:   The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value 阅读详情
指针的大小是问:一个指针变量占用多少内存空间?

分析:既然指针只是要存储另一个变量的地址,。注意,是存放一变量的地址,而不是存放一个变量本身,所以,不管指针指向什么类型的变量,它的大小总是固定的:只要能放得下一个地址就行!(这是一间只有烟盒大小的“房间”,因为它只需要入一张与着地址的纸条)。

存放一个地址需要几个字节?答案是和一个 int 类型的大小相同:4字节。

所以,若有:

int* pInt;

char* pChar;

bool* pBool;

float* pFloat;

double* pDouble;

则: sizeof(pInt)、sizeof(pChar)、sizeof(pBool)、sizeof(pFloat)、sizeof(pDouble)的值全部为:4。

PS:你敢拆电脑吗?拆开电脑,认得硬盘数据线吗?仔细数数那扁宽的数据线由几条细线组成?答案:32条,正是 4 * 8。

附:sizeof和strlen的区别
❀第一个例子:
char* ss = "0123456789";
1、sizeof(ss)的结果是4,ss是指向字符串常量的字符指针
2、sizeof(*ss)的结果是1,*ss是第一个字符

❀第二个例子:
char ss[] = "01233456789";
1、sizeof(ss)结果是11,ss是数组,计算到'/0'的位置,因此是10+1
2、sizeof(*ss)结果是1,*ss是第一个字符

❀第三个例子
char ss[100] = "0123456789";
1、sizeof(ss)的结果是100,ss表示在内存中预分配的大小:100*1
2、strlen(ss)的结果是10,它的内部实现是用一个循环计算字符串的长度,直到'/0'为止。

❀第四个例子
int ss[100] = "0123456789";
1、sizeof(ss)的结果是400,ss表示在内存中的大小,为100*4
2、strlen(ss)错误,strlen的参数只能是char*,且必须是以'/0'结尾的。
注:笔者试验时无法对ss初始化
error message:
error C2075: 'ss' : array initialization needs curly braces
【C语言】指针大小知多少 ?一场探寻C语言深处的冒险 ! 在C语言中,指针的大小(即指针变量占用的内存大小)是由计算机的体系结构(例如32位还是64位)和编译器决定的。通常情况下,所有类型的指针在同一平台上占用的内存大小是相同的。 阅读详情

相关推荐

【C语言基础教程】函数指针与指针大小

在C语言中,指针是一项强大的工具,用于处理内存中的数据。除了常见的指向变量和数组的指针,C语言还支持函数指针,它是一个指向函数的指针。本文将深入探讨函数指针的概念以及指针的大小在C语言中的重要性。函数指针是C语言的一个强大概念,它允许动态选择和调用函数。通过将函数指针用于回调、函数表和动态函数选择等情况,你可以编写更加灵活、可扩展和模块化的代码。理解函数指针的概念和用法是C语言编程中的一个关键技能。同时,理解指针的大小也非常重要,因为它直接影响到内存分配和访问的正确性。

m0_62599305的博客 1525

关于指针大小(c语言)

  32位系统默认指针大小为4个字节(8位为一个字节),因为32位系统默认的内存寻址空间是4G,所以指针大小为4个字节可以完成对4G空间的寻址。2^32约为4个G;   64位系统默认指针大小为8个字节,理论上寻址空间可达到1800万个TB,指针大小为8个字节可完成对其的寻址。   32位处理器一次只能处理32位,也就是4个字节的数据;而64位处理器一次就能处理64位,即8个字节的数据。 #i...

weixin_43641850的博客 1万+

Mplus实战:如何用潜在类别分析(LCA)快速搞定心理学数据分类?

本文详细介绍了如何运用Mplus软件进行潜在类别分析(LCA),以快速处理心理学数据并识别内部异质性群体。文章从数据准备、Mplus语法编写、模型拟合与选择,到结果解读与高级应用(如纳入协变量),提供了完整的实战指南,帮助研究者从变量视角转向个体视角,有效挖掘数据中的潜在子类别。

weixin_28318011的博客 411

指针类型大小详解

经典指针笔试面试题

weixin_51305742的博客 2101

如何利用三阈值游程理论识别干旱事件_python

如果当前时间点与上一个干旱事件的结束位置相隔不超过一个月(`index - current_event['end_index']

weixin_44259522的博客 1946

机器学习西瓜书期末复习(2022HENU)

期末复习之机器学习 文章目录期末复习之机器学习第一章 绪论 第一章 绪论 机器学习的定义 机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。 根据训练数据是否拥有标记信息,将学习任务分为监督学习和无监督学习。 监督学习 :分类和回归 线性回归、对数几率回归、决策树、支持向量机、贝叶斯分类器、神经网络 无监督学习:聚类 聚类算法: 原型聚类:(k均值,学习向量量化,高斯混合聚类);密度聚类(DBSVAN);层次聚类(AGNES)。降维。话题分析。图分

qq_46561559的博客 2万+

指针大小和指针类型

这里我们可以想象一下:在一个32位的机器上,他的地址是由32个0或者1的二进制序列组成, 一个0或者1就需要一个bit(比特位)来存放,那么32个也就需要4个byte来存放。同理在一个64位机器上,地址就需要64个0或1的二进制序列组成,相当于64个比特位,64个比特位=8个字节。说到地址就必须想到 ‘&’--取地址符 ,&是用来取出变量的存放在内存中的地址。指针就是用来存放内存地址的变量(即地址),指针实际上就是指针变量。指针存放的是变量或者对象的内存地址,也被称为首地址。变量有类型,指针有也它的类型。

qq_74367835的博客 893

DeepSeek高阶应用:DeepSeek+Coze构建智能文献综述与趋势分析自动化系统

本文详细介绍了如何利用DeepSeek与Coze构建智能文献综述与趋势分析自动化系统。通过DeepSeek的深度语义理解和结构化信息提取能力,结合Coze的可视化工作流编排,实现学术论文的自动解析、分类整理与知识入库。该系统能7x24小时自动追踪领域前沿,将研究人员从繁琐的文献处理中解放出来,专注于更高层次的思考与创新。

weixin_29050271的博客 180

指针大小sizeof与引用大小的问题

存放一个地址需要几个字节?答案是和一个 int 类型的大小相同:4字节。  所以,若有:  int* pInt;  char* pChar;  bool* pBool;  float* pFloat;  double* pDouble;  则: sizeof(pInt)、sizeof(pChar)、sizeof(pBool)、sizeof(pFloat)、

u013083886的博客 5492

风力发电机并网模型建立及仿真验证

传统能源日益匮乏,环境污染日趋严重,全球向安全、可靠和环保的可持续能源体系转型迫在眉睫,风电迎来了重要的发展契机。近年来,全球风电迅猛发展,我国已成为世界风电新增装机容量第一的国家。然而,随着风电规模的不断增大,风电场接入对系统影响不容忽视。随着变速恒频风力发电系统优越的性能突出和大容量电力电子技术的成熟,风速随机性引起的功率波动及故障情况下的动态响应,对电能质量,系统电压、频率的稳定性产生的影响需要深入研究。因而,本文结合实际项目,针对变速恒频风力发电系统建模,端口动态特性及对电网电能质量、运行稳定性的影

毕业设计区博客 1644

Open3D 计算点云法向量的夹角【2026最新版】

计算法向量的夹角,博客长期更新,本文最新更新时间为:2026年3月7日。

点云侠的博客 3131

linux32位指针大小,指针的大小 sizeof问题和sizeof使用规则

?? 1、什么是sizeof首先看一下sizeof在msdn上的定义:The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size...

weixin_32075603的博客 765

Android 12.0 framework系统修改安兔兔等显示的屏幕尺寸大小功能实现

在12.0的系统rom定制化开发中,在使用第三方app检测系统的一些信息中,比如安兔兔 设备信息等检测app中,有时候显示的屏幕尺寸大小和 产品规格书等信息不同,稍微有些差异,所以就需要看下系统framework层中,相关的设备信息是怎么读出来的,然后做些调整 接下来就来分析相关功能

安卓兼职framework和app工程师的博客 478

【转】指针的大小--sizeof问题

指针的大小--sizeof问题 博客分类:  C++  指针的大小是问:一个指针变量占用多少内存空间?  分析:既然指针只是要存储另一个变量的地址,。注意,是存放一变量的地址,而不是存放一个变量本身,所以,不管指针指向什么类型的变量,它的大小总是固定的:只要能放得下一个地址就行!(这是一间只有烟盒大小的“房间”,因为它只需要入一张与着地址的纸条)。  存放一个地址

tanggod的专栏 844

核心组件大换血:Backbone与Neck魔改篇:YOLO26魔改Neck:引入BiFPN(双向特征金字塔),多尺度融合能力飙升

本文深入解析了YOLO26目标检测模型中Neck部分的优化策略,重点探讨了BiFPN(双向特征金字塔网络)的原理与实现。文章首先指出YOLO26原生FPN+PAN结构在多尺度特征融合上的局限性,特别是在小目标检测和边缘部署场景中的性能瓶颈。随后系统梳理了Neck网络的演进历程,从FPN、PANet到BiFPN和ASFF,详细对比了各架构的特点。核心部分展示了如何将BiFPN引入YOLO26,包括可学习权重融合、双向跨尺度连接等关键技术实现,并提供了PyTorch代码示例。本文为需要提升小目标检测性能或优化边

ZDQ58818的博客 247

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C语言中sizeof测试数组指针大小问题

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> int main(int argc, char *argv[]) { int arr[5] = {1, 2, 3, 4, 5}; int(*p)[5] = &arr; //typedef与赋值操作不能同时使用。 type...

Hello_MyDream的博客 3万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

数组名不等于指针---sizeof()函数求数组大小错误问题

前言: 今天在项目中需要求采样点的数量并且遍历,采样点用数组存储,自定义了一个函数想要用sizeof求其长度,然后遍历,结果失败了,查阅之后发现以下问题: 在main函数中,sizeof是可以正常工作的 #include <stdio.h> int Number[10]; int main() { int size = sizeof(Number); printf("数组大小为:%d\n",size); int len = sizeof(Number)/sizeof(int).

Z小旋 3333

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

c语言用指针比较数组大小,C语言中sizeof测试数组指针大小问题

#define _CRT_SECURE_NO_WARNINGS#include#includeint main(int argc, char *argv[]){int arr[5] = {1, 2, 3, 4, 5};int(*p)[5] = &arr;//typedef与赋值操作不能同时使用。typedef int(*P)[5];//p指向的是整个数组的地址//printf("%d\n"...

weixin_39829307的博客 1425

c语言中字符串的数组格式和指针格式下的sizeof和strlen的大小问题

c语言中没有string类型的格式,字符串有两种表示方法 数组方式:char a[] = "wasd"; 指针格式:char *a = "wasd"; 下面举个例子,使用字符数组申明字符的时候数组下标可以不写数组的大小,但是写的话必须比字符个数大1,包含有\0 无论是数组申明还是指针申明的字符串,strlen()的大小都是字符数,字符串指针时sizeof(指针名)输出的是指针的大小,一般是四...

qq_34729246的博客 820

C语言进阶笔记:字符指针,和sizeof计算数组大小的常见问题

3.指针是有类型的,指针的类型决定了指针的+-整数的步长,指针解引用的操作的权限。1.指针就是变量,用来存放地址,地址的唯一标识一块内存空间。2.指针的大小是固定的4/8个字节。

我就知道你会来,我们一起进步吧! 573

sizeof 总结

sizeof操作符以字节形式给出了其操作数的存储大小。作用:1、sizeof操作符的一个主要用途是与存储分配和I/O系统那样的例程进行通信。2、sizeof的另一个的主要用途是计算数组中元素的个数。计算结果:1、若操作数具有类型char、unsigned char或signed char,其结果等于1。   ANSI C正式规定字符类型为1字节。 2、int、unsigned int 、short

冷剑魂的专栏——垃圾场 1547
下一篇: C/C++中 malloc和new区别
driversmith
博客等级 码龄16年 5粉丝 1原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值