c++之指针用法总结
来源:互联网 发布:绍兴网络电视台回看 编辑:程序博客网 时间:2024/05/17 21:25
一、介绍一些基本概念
1、一个变量的地址即为一个变量的指针
2、变量的访问的两种方式直接访问和间接访问
直接访问:按变量地址直接存取变量
间接访问:将变量地址存放在另一个变量中
3、运算符
* 符号表示指向,指针运算符(或间接访问运算符)*p为指针变量p所指向的存储单元
& 取地址运算符 &a为变量a的地址
二、指针的一些定义和用法
1、类型名 * 变量名; //定义指针变量指向某个类型
int *p;
2、类型名 *变量名[n]; //定义指针数组,由n个指针元素构成的数组
int *p[n];
3、类型名 (*变量名)[n];//定义指向含n个元素的一维数组的指针变量
int (*p)[n];
4、类型名 * 函数名();//返回值为指针的函数
int *max();
5、类型名(*变量名)(); //指向函数的指针
int (*p) ();
#include<iostream>int main(){int max(int x,int y); //函数声明int (*p)(int,int);//定义指向函数的指针int a ,b ,m;p=max;cin>>a>>b;m=p(a,b);cout<<"max="<<m<<endl;return 0;}
其实就是用(*p)取代了max
6、类型名* *变量名;//指向指针的指针变量
int * *p; // p是一个指针-->指向了一个指向int型变量的指针。
三、特别的“别名"应用
1、指向数组的指针,即用指针名取代数组名
引用数组元素的方式:
下标法 a[i]
指针法 *(a+i)或*(p+i)
2、指针作为函数的参数,其实就是讲变量的地址赋给指针
3、指向函数的指针,其实就是用(*p)取代原函数名,如上。
4、变量的引用
int a;
int &b=a;//引用的声明,其实就是给a起一个别名b,共同指向同一内存地址
引用在作为函数参数时很有用喔!和指针相同的效果,却比指针更直观!!!
int main(){ void swap(int &a,int &b); int i=3,j=5; swap(i,j);//a,b即成为i,j的别名
cout<<i<<" "<<j<<endl; return 0;}
void swap(int &a,int &b){int temp;temp=a;a=b;b=temp;}
输出结果 5 3
四、void 和void* 的区别
void 是指”无类型“
void* 是”无类型指针“,void *可以指向任何类型的数据
在作为函数参数时,它可以接收任何类型的参数,这在传递(void*)this类型的参数时,很重要!
- C指针的用法总结
- C总结之指针
- c++之指针用法总结
- c/c++ 之指针的指针总结
- C/C++函数指针用法总结
- C语言之typedef函数指针用法
- C语言入门之指针用法教程
- C/C++之typedef函数指针用法
- c和指针 之“输入输出”总结
- C和指针之字符串总结
- C和指针之IO总结
- 《C和指针学习笔记》之指针总结
- C/C++指针用法最终大总结篇
- C语言 结构体与结构体指针用法总结
- 指针的用法总结
- 指针的用法总结
- const指针用法总结
- 指针常见用法总结
- TS的I帧
- 人生序
- 籽总足转琢住子卓尊砖棕淄租醉纵子住阻
- 在Spring、Hibernate中使用Ehcache缓存
- 论证是一门学问 如何让你的观点有说服力-6 规则6 措辞前后一致
- c++之指针用法总结
- HTTP协议详解
- curl中curl_easy_setopt的CURLoption参数详解
- Android 抽屉效果的导航菜单实现
- Android开发(21) Android Manifest.xml 结构详解二
- 第七周项目3-简单分支问题体验(2)
- 走浊诅做昨妆综赘自综专租赚桌拽揍籽状
- 如何使用android-support-V7包中ActionBar(Eclipse版)
- 第8周赋值表达式的运用