关于指针大小(c语言)

2023-11-07

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

#include <stdio.h>
int main()
{
	int *p1,a[4];
	char *p2,b[4];
	float *p3,c[4];
	double *p4,d[4];
	printf("%d\n",sizeof(p1));	
	printf("%d\n",sizeof(p2));	
	printf("%d\n",sizeof(p3));	
	printf("%d\n",sizeof(p4));
	printf("\n");
   p1 = a;
   p2 = b;
	p3 = c;
	p4 = d;
	printf("%d\n",sizeof(*p1));	
	printf("%d\n",sizeof(*p2));	
	printf("%d\n",sizeof(*p3));	
	printf("%d\n",sizeof(*p4));	
}

在这里插入图片描述
可见,不同类型的指针,其本身的大小是一样的(都是8个字节,因为笔者是64位的系统),指针所指数据类型的大小则为原来数据的大小(int和float是 4字节,double8字节,char1字节);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于指针大小(c语言) 的相关文章

随机推荐

  • Kotlin中空安全操作符,异常处理和自定义异常,以及先决条件函数详解

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到教程 一 Kotlin的可空性 null 在java中我们司空见惯的空指针异常NullPointerException 带给了我们很多麻烦 K
  • spring boot 限制初始值大小及参数中文详解

    要加 m 说明是MB 否则就是KB了 Xms 初始值 Xmx 最大值 Xmn 最小值 java Xms10m Xmx80m jar mod jar 时区设置 java jar Duser timezone GMT 08 mod jar 普通
  • linux系统中设置服务开机自启动

    1 背景描述 最近根据工作需要 需要服务实现开机自启动的效果 因为平时只使用过nohup的后台挂起操作 很少接触开机 镜像装机服务自启动的功能 因此 这里简单记录一下 注意 开机自启动和上面的hohup的表现不一样 开机自启动保证了系统重启
  • [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3.0.RELEASE:repac

    ERROR Failed to execute goal org springframework boot spring boot maven plugin 2 3 0 RELEASE repackage default on projec
  • Cookie伪造

    解题 创建了一个user用户登陆之后发现 抓包看一下 登录 注册完一个账号 sgx密码 sgx 随便注册 第一次登录时发现它会在服务器中存下一个cookie值并且前缀都是351e766803 把后面的md5解密下发现是sgx和limited
  • 掌握vue指令之(7)v-html指令

    7 v html指令 问题 如果要绑定的变量值是一段HTML代码 则使用 绑定 会保持HTML代码的原样 而不经过编译 直接显示在页面上 解决 今后 只要要绑定的变量值是一段HTML代码 则必须用v html指令代替 来绑定 写法 lt 元
  • MySQL详细安装教程

    1 安装 1 双击打开安装程序 正在安装 2 Choosing a Setup Type界面 在此界面选择Custom 手动安装某些软件 随后点击Next 3 Select Products界面 左框内为可选择安装的软件 右框为已选择准备安
  • CVE-2023-28708 原理剖析

    CVE 2023 28708 原理剖析 这应该不是一个严重的漏洞 可能评分只能为低 因为并没有什么卵用 话不多说 直接进入正题 我的复现环境 tomcat 8 5 50 首先我们得简单写一个servlet 当然不写也没事 因为我们的分析到不
  • Ant Design of Vue动态生成菜单项

    有这样一种情况 需要
  • 1. 嵌入式OpenWRT入门基础篇-----OpenWRT源码下载、编译

    之前一直在做关于op系统的项目 现在不从事这一行了 或许以后也不会了 趁现在还有点记忆 因此在此也算记录一下以前的工作吧 因为OpenWRT是一个很完善的系统 本系列博客也是按照整个系统的开发步骤进行的 本人技术水平不精 如有错误之处 还望
  • Kubernetes初始化集群时报错[ERROR Port-10259]: Port 10259 is in use

    错误原因 节点被占用 报错信息 W0823 00 33 45 142456 107567 validation go 28 Cannot validate kube proxy config no validator is availabl
  • Qt动态属性

    动态属性 在标准C 中 为了保证封装性 我们经常声明一个私有变量 然后声明两个公有函数 即set函数和get函数 在Qt中我们可以使用宏Q PROPERTY 宏来实现这些 一个属性可以使用常规函数QObject property 和QObj
  • 程序员赚钱致富的6种方法

    我认识一个朋友 也是程序员出身 他在一家还不错的外企上班 每个月工资收入也就差不多15K 五年的工作经验了 在他面前 我算是小弟 那天我们几个朋友一起打完球就去附近的饭馆吃饭 环境还不错 于是就边吃边聊工作 赚钱的事情 那天了解到 他不仅拿
  • macOS查看IP地址的命令

    查看内网的 IP 地址 ipconfig getifaddr en0 Last login Thu Aug 11 17 13 00 on ttys000 grnt wMacBook Pro ipconfig getifaddr en0 19
  • nginx用户认证配置

    1 用户认证模块 在 nginx 下 提供了 ngx http auth basic module 模块实现让用户只有输入正确的用户名密码才允许访问web内容 默认情况下 nginx 已经安装了该模块 所以整体的一个过程就是先用第三方工具设
  • GUI编程—PyQt5学习笔记1

    GUI 图形用户界面 Graphical User Interface 简称 GUI 又称图形用户接口 是指采用图形方式显示的计算机操作用户界面 PyQt5常用模块 QtWidgets 包含了一整套UI元素控件 用于建立符合系统风格的界面
  • 启动mysql服务报错:mysql服务无法启动

    一 问题描述 之前mysql服务好好的 突然无法启动了 win10系统 64位 mysql8 0 23 二 问题解决 1 mysqld console命令查看具体报错 C WINDOWS system32 gt mysqld console
  • C++ 2:new和delete,volatile关键字,auto关键字,基于范围for循环,string简单使用

    文章目录 1 B Tree 的结构设计 2 new和delete 2 1 new的三种用法 2 2 对于内置类型new delete malloc free 可以混用 3 C11的新特性 3 1 类型推导 3 2 auto的推导规则 3 2
  • geeksforgeeks —— 算法 1

    目录 算法 一 查找和排序 1 1 线性查找 1 2 二分查找 1 3 跳跃搜索 1 4 插值搜索 1 5 指数搜索 1 6 为什么二元搜索优于三元搜索 1 7 选择排序 1 8 冒泡排序 1 9 插入排序 1 10 归并排序 1 11 堆
  • 关于指针大小(c语言)

    32位系统默认指针大小为4个字节 8位为一个字节 因为32位系统默认的内存寻址空间是4G 所以指针大小为4个字节可以完成对4G空间的寻址 2 32约为4个G 64位系统默认指针大小为8个字节 理论上寻址空间可达到1800万个TB 指针大小为