指针
来源:互联网 发布:linux互斥锁 实例 编辑:程序博客网 时间:2024/06/11 07:33
1. 什么是指针?
答:指针是一个变量,用来存放内存地址;用户通过指针变量可以直接获取和操作指针所指向的内存;
2. 指针总结
指向整数的指针变量: int *pValue;
双重指针: 指向指针的指针;
int **pValue; //它指向的指针指向一个整形数;
指针数组: 本质为数组,其数组元素为指针;
int* pArr[10];//一个有10个指针的数组;
数组指针: 本质为指针,指向数组的指针;
int (*pArr)[10];//一个指向有10个整形数的数组的指针;
函数指针: 本质为指针,指向一个函数;
int (*f)(int,int); //指针,指向一个函数,该函数有两个整形的参数,并且返回一个整形数;
函数返回指针: 函数,返回值为指针;
int* f(int, int); //函数返回值为int*,该函数有两个整形的参数
const指针: 指针所指向的对象的值不能被改变;
int nValue = 100; const int *pA = &nValue; *pA = 10; //错误 int nNewVal = 10; pA = &nNewVal;//正确
指向const的指针: 指针所指向的对象不能被改变;
int nValue = 100; int* const pA = &nValue; *pA = 10; //正确 int nNewVal = 10; pA = &nNewVal;//错误
指向const的const指针: 指针所指向的对象及对象的值均不能被改变;
int nValue = 100; const int* constpA = &nValue; *pA = 10; //错误 int nNewVal = 10; pA = &nNewVal;//错误
3. 指针和引用的区别
非空区别: 在任何情况下都不能使用指向空值的引用,一个引用必须指向一个对象;
合法性区别: 在使用引用时不需要测试其合法性;
可修改性区别: 指针可以被重新赋值指向另一个不同的对象,而引用指定的内容不能被改变;
应用区别: 指针通过某个指针变量指向一个对象后,对他所指向的变量间接操作,而引用本身就是变量的别名,对引用的操作就是对变量的直接操作;故使用引用,程序的可读性优于使用指针;
0 0
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 指针
- 问道
- 产品中的KISS原则
- Jboss-7.1中间件部署
- Oracle中常见的33个等待事件小结
- 学习python的第三十天-参数,return语句,文档字符串
- 指针
- Linux学习教程之如何改变网卡的mac地址
- 常见对象_BigDecimal的引入和概述
- Word Search
- JUnit-4.11使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误 .
- VS2013/MFC编程入门之三十六(文档、视图和框架:概述)
- laravel如何加载样式文件
- 【Unity&DragonBones】图片从DragonBones导入Unity2D像素图片边缘模糊的问题
- Selenium在IE上找不到元素但在Firefox上能正确找到