指针的类型和指针所指向的类型说明

指针类型与指针指向类型理解 今天在看一些C语言面试题时,遇到这样一个题目:#include<studio.h>int main(){ unsigned int a = 0xFFFFFFF7; unsigned char i = (unsigned char)a; char *b = (char *)&a; printf("%08x,%08x",i,*b); }我先说一下答案,0x000000F7 阅读详情

1.指针的类型

从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部

分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各

个指针的类型:

(1)int*ptr;//指针的类型是int*

(2)char*ptr;//指针的类型是char*

(3)int**ptr;//指针的类型是int**

(4)int(*ptr)[3];//指针的类型是int(*)[3]

(5)int*(*ptr)[4];//指针的类型是int*(*)[4]

怎么样?找出指针的类型的方法是不是很简单?

2.指针所指向的类型

当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了

编译器将把那片内存区里的内容当做什么来看待。

从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声

明符*去掉,剩下的就是指针所指向的类型。例如:

(1)int*ptr; //指针所指向的类型是int

(2)char*ptr; //指针所指向的的类型是char

(3)int**ptr; //指针所指向的的类型是int*

(4)int(*ptr)[3]; //指针所指向的的类型是int()[3]

(5)int*(*ptr)[4]; //指针所指向的的类型是int*()[4]

在指针的算术运算中,指针所指向的类型有很大的作用。

指针的类型(即指针本身的类型)和指针所指向的类型是两个概念。当你

对C 越来越熟悉时,你会发现,把与指针搅和在一起的"类型"这个概念分成

"指针的类型"和"指针所指向的类型"两个概念,是精通指针的关键点之一。

我看了不少书,发现有些写得差的书中,就把指针的这两个概念搅在一起了,

所以看起书来前后矛盾,越看越糊涂。

指向常量的指针和常量指针 最近重温C++ primer,对指向常量的指针和常量指针稍微懂了一些。 1.指向常量的指针 指向常量的指针不能用于改变其所指对象的值。要想存放常量对象的地址,只能使用指向常量的指针。但是指向常量的指针并没有规定其所指的对象必须是一个常量。所谓指向常量的指针仅仅要求不能通过该指针改变对象的值,而没有规定那个对象的值不能通过其他途径改变。 const double pi = 3.14;     ... 阅读详情

相关推荐

RK3566开发板实战:YT8512C百兆网卡调试全记录(附DTS配置避坑指南)

本文详细记录了RK3566开发板上YT8512C百兆以太网卡的调试全过程,包括硬件信号检测、DTS配置优化及常见错误排查。特别针对DTS配置中的关键参数和避坑指南进行了深入解析,为开发者提供实用的调试技巧和经验分享。

weixin_29189381的博客 272

手绘知识点——指针的类型vs指针所指向数据的类型

前天就该写这篇了,无奈杂事缠身,一拖再拖……此篇博客并不在计划以内,只是看前篇博客的评论时发现了自身代码的一个错误,就是定义指向变量double型变量b的指针pb的时候,前边类型写成了int *,应该是double *,当时不知道是啥情况,这么明显的错误竟然没有发现,但是编译也并没报错,主要还是输出的时候设计到的pb太少,这可能就是天意吧,那么今天就仔细探究一下这一小块的知识点吧~ 先放上前篇博...

想不出一个好的标题,就用这个吧 795

ANSYS Discovery 2023R1 保姆级教程:手把手教你玩转几何模型参数化(附避坑指南)

本文提供ANSYS Discovery 2023R1几何模型参数化的全面教程,涵盖基础环境搭建、核心操作解析及高级应用场景。重点讲解参数化建模中的常见问题与避坑方案,帮助用户高效掌握Workbench与Discovery的协同使用技巧,提升工程仿真效率。

weixin_29204205的博客 752

C++对象指针-指向对象的指针

1 对象指针 学习C语言的时候,我们已经学习了指针的相关知识。例如: int a; int* pa = &a; 此时,我们定义一个int类型的变量a,同时,定义一个int类型的指针变量pa,并把变量a的地址赋给指针变量pa,那么,指针变量pa就指向了变量a。 同样的道理,C++定义的类,就是一个有效的数据类型,如同int, float, double这样的数据类型。所以,可以定义C++类对象的指针变量,与C语言中定义int, float, stru...

LC的专栏 6111

LK32T102 单片机 操作GPIO实现流水灯(1)

前言: LK32T10232(32位)单片机是一款专为电机控制器和数字电源开发的高性能 MCU。采Cortex-M0 内核,最高工作频率可达 72Mhz,ADC 采样速率 达 1Msps。同时具备协处理器单元可满足各种乘法、除法、移位以及各种 复杂函数运算。 LK32T102(32位)支持单电源供电,且内嵌高精度高速及低速振荡器,以及具备 多种低功耗工作模式。同时,集成了多路增强型 PWM,多通道模拟比较 器和高速运算放大器,可满足多种电机及功率控制应用,并简化系统成本。...

qq_58676187的博客 3189

使用ExcelJS向XLSX单元格居中插入图片

本文记录了使用ExcelJS库向XLSX单元格里居中写入图片的方法。本文内容包括:xlsx 文件格式;xlsx 图片定位的长度单位;使用nativeColOff和nativeRowOff进行定位,不要使用官网给的定位方式;添加图片到数据表的总体流程和样例代码;注意事项等。

weixin_43678000的博客 3456

✔指针基础知识

/ p的值是数组a的首地址(即a[0])的地址。如果p当前指向a数组中的第 i 个元素a[i],则: 1)*(p--)相当于 a[i--],先对 p 进行 "*" 运算(求 p 所指向的元素的值),再使 p 自减。数组元素的指针就是数组元素的地址,数组名a(不包括形参数组名)代表数组中首元素(即序号为0的元素的地址) ,a+n也是地址(代表第n+1个元素的地址)

qq_68915288的博客 763

CryoEM - 使用 ChimeraX 工具 操作 冷冻电镜的 MRC 密度图(Density Map) 教程

由冷冻电镜 CryoSparc 软件所生成的 Volume,需要观察其内部结构,建议使用 ChimeraX 进行操作。

AGI 4962

指针的类型和指针所指向的类型

从语法角度看,只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型,这是指针本身所具有的类型。 int *ptr;    int* char *ptr;   char* int **ptr;   int** int (*ptr)[3];   int (*)[3]; int *(*ptr)[4];  int*(*)[4]; Member *myMember;   Member

叮咚侠的博客 2794

把 NAST 变成你的遥控器:用 ABAP 程序精确触发与处理 Output Type

摘要 SAP中的Message Control机制通过NAST表记录输出状态,支持自动触发打印、邮件等操作。关键步骤包括: 构造NAST记录:定义输出类型、介质、处理状态等参数 调用处理函数:使用RV_MESSAGE_UPDATE_SINGLE更新表,通过WFMC_MESSAGES_PROCESS执行输出 典型应用场景: 单据补发(如PO邮件重发) 外部系统集成触发输出 故障恢复处理积压消息 注意事项: 需提交事务确保更新生效 区分S/4HANA新旧输出体系 正确处理派发时间(VSZTP)和状态(VSTAT

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 255

第3.4章 机器人第三方库实战总结(四):G2O优化库从入门到实战(附SLAM实例代码)

自定义边同样是满足复杂应用需求的重要手段。自定义边时,需要明确边所连接的顶点类型以及边所表示的误差项的计算方式。假设我们要定义一条边,用于约束两个上述自定义顶点之间的相对位姿和传感器偏移量关系。我们可以这样定义边类:public:// 计算误差// 计算雅可比矩阵// 读盘和存盘函数,这里暂不实现。

行知SLAM 358

C++中的对象指针

指向对象的指针 在建立对象的时候,变异系统会给每一个对象分配一定的存储空间,以存放其成员。 对象空间的起始地址就是对象的指针。可以定义一个指针变量,用来存放对象的指针。 一个简单的示例1.1: #include<iostream> using namespace std; class Student { public: int num; int sco...

weixin_34023863的博客 757

Python之afdx包语法、参数和实际应用案例

Python 的 afdx 包是针对 AFDX 协议的轻量级开发工具,专注于 AFDX 数据帧的解析、构造、发送/接收、协议合规性校验等核心能力,广泛应用于航空电子设备测试、仿真、数据监控等场景。

王国平的博客 982

C++——指向常量的指针、常指针和指向常量的指针

C++的一个很明显的特性就是指针。指针正是C++强大的原因,同时也会他比较难的一个原因。 这里简单介绍下C++中指向常量的指针、常指针和指向常量的指针的概念。 一、指向常量的指针: 定义方法 const int* ptr; int*const ptr; 那么什么是指向常量的指针呢? 简单来说,就是指针指向的内容是常量,不可变,但是指针本身的值可以变(也就是说指针可以指向同类型的其他常量)。 ...

qq_44848423的博客 777

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

关于“指向常量的指针”,“常量指针”,“指向常量的常量指针“三者的区分

关于“指向常量的指针”,“常量指针”,“指向常量的常量指针“三者的区分 初学者在学习c++时,这三者容易让人混淆,其实仔细观察他们的写法区别,就很好区分 //一下内容均以int类型为例 1.常量指针 写法:int *const pi; 理解:常量指针,即指针是常量,而指针本身就指向对象的地址. 特点:1. 指针指向的地址不能改变 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;n...

Alexander的博客 1659

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

指向常量的指针变量

指向常量的指针变量指向常量的指针变量(常量指针)指向变量的指针变量指向变量的指针常量(指针常量)指向常量的指针常量总结 指向常量的指针变量(常量指针) 定义方式: const char* s = "abcdef"; 使用过程中不可以改变指针所指地址的内容,但可以改变指针所指地址 指向变量的指针变量 定义方式: char c = 'a'; char* s = c; 使用过程中什么都可以改变 指向...

DavieChars的博客 444

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

c语言指针指向怎么指,C语言-基础教程-指向指针的指针

一个指针变量可以指向整型变量、实型变量、字符类型变量,当然也可以指向指针类型变量。当这种指针变量用于指向指针类型变量时,我们称之为指向指针的指针变量,这话可能会感到有些绕口,但你想到一个指针变量的地址就是指向该变量的指针时;这种双重指针的含义就容易理解了。下面用一些图来描述这种双重指针,见图6-13。在图中,整型变量i的地址是&i,将其传递给指针变量p,则p指向i;实型变量j的地址是&am...

weixin_39731456的博客 1360

C语言指针---认识指针的作用和意义

指针即指针变量,用于存放其他数据单元(变量/数组/结构体/函数等)的首地址。对指针变量的定义包括三个内容:(1)指针类型说明,即定义变量为一个指针变量;(2)指针变量名;(3)变量值(指针)所指向的变量的数据类型。关于C语言的指针方面我也属于是探索阶段,本篇博客主要是自己对于一些指针的理解,相当于自己对指针学习的知识总结,可能内容比较冗杂,对于一些细节也可能说不清楚,对于新手来说还是有点吃力,如果内容方面有问题,希望大家可以支出,互勉。本博客内容原创,创作不易,转载请注明。

qq_49015270的博客 6387

关于const修饰指针,指向常量的指针变量、常指针的区别

指向常量的指针变量 const 类型名 * 指针变量名; int a = 12,b = 15; const int *p1 = &a;//定义了p为指向整形变量a的指针变量 *p = 15;//试图通过p改变它指向的对象的值,非法 指向常量的指针变量只是限制了通过指针变量改变它指向的对象的值 常指针 指定指针变量的值是常量。即指针变量的指向不能更改 类型名 * const 指针变量名; int a = 4; int b = 6; int *const p2 = &a;//p2只能指向

weixin_39748503的博客 294

C++(指针的类型)

指针数组与数组指针

Mark 868

指向函数指针

学了许久的C语言了,第一次来写博文,分享一下我的学习心得,还请多多指教哟!~~ 指向函数的指针那些事你都知道吗? 这里定义了一个指向函数的指针:int (*p) (int , int), c语言中可以写为 int (int, int) *p, 很明显p与以往对指针(例如:int *p)的定义一样,但是在这里指针p所指向的空间是一个函数,这个函数的返回值类型为int,有两个int类型的参数, 下面...

weixin_44094141的博客 233

C语言二级指针(指向指针的指针)详解

指针可以指向一份普通类型的数据,例如 int、double、char 等,也可以指向一份指针类型的数据,例如 int *、double *、char * 等。 如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。 假设有一个 int 类型的变量 a,p1是指向 a 的指针变量,p2 又是指向 p1 的指针变量,它们的关系如下图所示: 将这种关系转换为C语言代码: int a =100; int *p1 = &a; int **p2 = &p1; 指针变.

石大娃的博客 799

C指针详解

文章地址:https://www.runoob.com/w3cnote/c-pointer-detail.html 一、细说指针 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 实例: int*p...

越努力越幸运! 174

C语言的指向数组的指针

定义一个指向数组的指针的格式为:char (*p)[10];表示p为指向一个char a[10]的指针,引用的时候应该用p=&a;调用的时候用(*p)[i]调用,在使用时(*p)与a完全等价。仅此而已。注意需要加括号。因为[]和*为同级,按照右到左结合。要是*p[i]则访问了**(p+i)造成错误。  指针数组相对好理解,就是一个数组,每个元素为指向某个类型的指

SoNg的专栏 908

c++ 指向字符串的指针_C语言中的指针变量有哪几类呢?常量的特性有是什么?...

在C语言中:普通指针:*p 指向一个值,本身存的是其地址;指向指针的指针:*(*p) 指向一个值,这个值是个地址,所以也就是上面说的指针,指针的指针本身存的还是个地址;所以 char *p,1变形,指向字符或指向字符串或指向一维字符数组的指针,指向的是字符的地址或一维数组的首元素;char(*p)[N],行指针,2变形,指向的是二维数组的首地址,也就是上面所说的char *p;int (*p)()...

weixin_34638409的博客 263
上一篇: 函数指针
下一篇: ANSI,Unicode,UTF-8网页编码的区别
gwonph
博客等级 码龄17年 8粉丝 39原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值