c++指针【C++】
来源:互联网 发布:mac直播音效软件下载 编辑:程序博客网 时间:2024/06/14 21:37
文档目录:
指针的基本介绍
指针的基本用法
指针的基本实例
空指针
void指针
指针小结
引用
指针和引用
指针和数组
指针的基本介绍:
指针到底是什么?指针其实就是一个变量,但是与其他的变量不同,它保存的是其他变量的地址,而不是数值。
就好像我们的身份证号码就是一个指针,而我们的名字是一个变量名,国家在寻找我们的时候,不是去查询我们的名字,而是查询我们的身份证号,然后访问我们身份证号里面的信息。
当代码 int year时 系统分配出一块名字为year的内存空间,他的地址是0028FF44,当代码year=15;时系统将15存入地址为0028FF44的内存空间中。
当代码 int*ptr_year时, 系统同样为ptr_year分配一个内存空间,但是这个空间是用来存储地址的。当代码ptr_year=&year时,系统把year的地址存储到指针ptr_year的内存空间中。
指针的基本用法:
取地址符号:&
简介运算符:*
指针的基本实例:
double num =1024.5;
double* ptr_num=#//声明一个指针,指向num变量。
cout<<"num的地址是:"<<&num<<endl;
cout<<"ptr_num的值:"<<ptr_num<<endl;
cout<<"ptr_num指向空间的值:"<<*ptr_num<<endl;
空指针(null pointer):
Void* 类型指针:
doublenum=3014;
double *ptr_num=#
void *ptr_num1=#
cout<<boolalpha;
cout<<(ptr_num==ptr_num1)<<endl;
指针小结:
引用:
指针和引用:
指针和数组:
1.指针操作数组快于下标操作数组
2.数组的空间分配.如int a[10];——会在空间分配出40个相邻的内存单元来(10*4)。
3.指针操作数组
int
*pa;
pa = &a[0];//
把a【0】的地址给pa
4.指针移动
int*pa;
int a[10];
pa = &a[0];
(
int a[10];
int *pa=&a【0】;
)
pa+1将指向下一个元素a[1]:
>> 内存中的变化:"指针加1"会根据指针指定的类型int移动4个内存单元,其实本身并没有移动,只是pa+1等于第5个内存单元地址——“指针加1”中的1的大小是取决于pa的类型int的,指针类型决定指针跨内存单元的步长。
>> pa+1 等于是指向第5个内存单元——a[1]的第一个内存单元。
*以上信息是我本人今天学习的总结,来自不同的老师和前辈。感谢他们的无私。
- C--指针
- C-指针
- C指针
- C指针
- C指针
- C---指针
- c 指针
- C指针
- C指针
- C指针
- C 指针
- c指针
- C指针
- C 指针
- C 指针
- C 指针
- c指针
- c 指针
- AndroidSDK篇之Bmob云服务精讲
- PCA与SVD学习之路
- 求1+1/2!+1/3!+1/4!......1/m!的值
- 人工智能实战2——从0开始手写符号识别
- 【c语言小项目】简单计算器
- c++指针【C++】
- Java泛型编程
- React-Native之Hello World
- Hdu-6212 Zuma(区间DP)
- 学渣课堂笔记--编译原理(1)
- 【ORACLE】手工建库+RMAN Catalog创建、配置和使用
- gpio子系统和pinctrl子系统(上)
- 最大最小字符串问题
- php链接数据库出现乱码