c++ 引用、指针
来源:互联网 发布:网络监控摄像头安装图 编辑:程序博客网 时间:2024/06/03 16:54
一、引用
1.引用的作用:给变量起一个别名,是c++对c的扩充。原名和别名有相同的地址,根本上就是同一个东西,只是名字不一样。c++的引用机制主要是为了用作函数参数,增强函数传递数据的能力,比如swap函数,引用就是为了直接修改实参。
2.声明方式:
int a;
int &b=a;
3.与指针区别:
声明一个引用时必须同时初始化,之后不能再修改,指针不用;
引用初始化后不能再改变,指针可以;
引用不能指向空值,指针可以;
不能引用数组或数组元素;
不能建立引用的引用;
指针不能指向引用;
二、函数参数指针
1.调用函数时不会改变指针的值,但可能会改变指针指向的值。
三、数组指针
1.假设指针p已指向数组中某一元素,则p+i指向该元素的下i个元素,实际上,p+i=p+i x sizeof(DataType)。
2.c++是将函数形参里的数组当做指针来处理的,也就是函数调用时不存在数组,只有指针。
四、字符串指针
1.字符串的一种定义方式:
char str[]="asdasd";
定义时可以不写元素个数,但必须初始化,int 啥的也可以这样定义,然后就会自动识别个数,char的话最后会加上'\0'。
2.char*定义的字符串可用[]来访问,但不能修改。
五、函数指针
1.指向函数的指针一定要用"()",比如(*p),这是因为优先级的问题,如果没有括号就成了返回值为指针的函数了。如int *a(int x,int y),就是返回值为指针的函数。
2.指向函数的指针可以作为函数的参数,这是为了将函数名传给函数形参,就可以在调用一个函数时根据不同的实参再调用别的函数,这种用法很少见。
六、指针数组
1.int *p[4]=(int *) p[4]即为指针数组,数组中元素是指针类型的。
int (*p)[4]为指向数组的指针,数组中元素是int。
七、void *指针
1.(void *)指针类型是指向不确定的类型而不是任何类型,必须转换为确定的类型才能使用,所以只是一个过渡。
2.可以把非void *赋给void *,但不能反过来。
e.g.
int a=89;
int *p1=&a;
void *p2;
p2=(void *)p1;
*(int *)p2即为a;
- C |java 指针|引用
- 【c++】指针与引用
- C/C++指针 引用
- 【C++】指针与引用
- C++【引用与指针】
- c++-引用函数指针
- 指针与引用c
- 引用,指针,C++,java
- c++:引用和指针
- C++引用 & C 指针
- 【C++】指针与引用
- [C++] 引用和指向指针的引用
- 【C++】基础知识—引用和指针引用
- C++(常)引用,const,指针引用
- [C] 指针参数的引用
- 11、C++const指针 引用
- c/c++指针的引用
- c指针和c++引用
- 类加载器简介
- ImageNet Classification with Deep Convolutional Neural Networks——AlexNet论文翻译——中英文对照
- zynq spi -使用bsp库函数
- Oulipo
- prepareStatement与Statement的区别(转)
- c++ 引用、指针
- Axis2 SOAPAction: "urn:anonOutInOp" 问题的解决方法
- PHP新特性之字节码缓存和内置服务器
- 二叉树的创建 以及先序,中序,后序输出
- curl模拟post请求提交
- 仿站后台路径怎么查找?
- MAVEN基础知识
- 04_检查大小端
- Hibernate基本概念及开发环境的搭建