指针的基本概念和用法

指针的基本概念

每个变量都被存放在从某个内存地址(以字节为单位)开始的若干字节中

"指针"也被称作"指针变量",大小为4个字节(在64位编译器中,也优肯为8个字节)的变量,其内容代表一个内存地址。

通过指针,能够对该指针指向的内存区域进行读写。

如果把内存的每个字节都想象成宾馆的一个房间,那么内存地址相当于房间号,而指针里存放的,就是房间号

指针的定义

类型名 * 指针变量名;

int *p; //p是一个指针,变量p的类型是int *

char *pc;//pc是一个指针,变量p的类型是 char *

float *pf;//pf是一个指针,变量p的类型是float *

通过指针访问其指向的内存空间

int *p=(int *)40000;

//往地址40000处起始的若干个字节的内容空间里写入5000

*p=5000;

//将地址40000处起始的若干字节的内容赋值给n

int n=*p

"若干"=sizeof(int),因为int *p

指针定义总结

T * p;//T可以是任何类型的名字,比如int,double

p 的类型是:T*

*p的类型是:T

通过表达式 *p,可以读写从地址p开始的sizeof(T)个字节

*p 等价于存放在地址p处的一个类型的变量

* 简介引用运算符

sizeof(T*) 4字节(64位计算机上可能8字节)

指针的用法

(通常将指针指向一个变量)

char ch1='A';

char *pc=&ch1;//使得pc指向变量ch1

&:取地址运算符

&x:变量x的地址(即指向x的指针)

对于类型为T的变量x,&x 表示变量x的地址(即zhixiangx的指针)&x 的类型是T*

相关推荐
sin_hielo5 小时前
leetcode 2483
数据结构·算法·leetcode
大数据追光猿6 小时前
【大数据Doris】生产环境,Doris主键模型全表7000万数据更新写入为什么那么慢?
大数据·经验分享·笔记·性能优化·doris
sevenez6 小时前
Vibe Coding 实战笔记:从“修好了C坏了AB”到企业级数据库架构重构
c语言·笔记·数据库架构
智嵌电子6 小时前
【笔记篇】【硬件基础篇】模拟电子技术基础 (童诗白) 第10章 模拟电子电路读图
笔记·单片机·嵌入式硬件
Xの哲學6 小时前
Linux多级时间轮:高精度定时器的艺术与科学
linux·服务器·网络·算法·边缘计算
大头流矢6 小时前
归并排序与计数排序详解
数据结构·算法·排序算法
2301_800050996 小时前
mysql
数据库·笔记·mysql
阿闽ooo6 小时前
外观模式:从家庭电源控制看“简化接口“的设计智慧
c++·设计模式·外观模式
油泼辣子多加7 小时前
【信创】算法开发适配
人工智能·深度学习·算法·机器学习
QT 小鲜肉7 小时前
【Linux命令大全】001.文件管理之mmove命令(实操篇)
linux·服务器·前端·chrome·笔记