指针复习
来源:互联网 发布:环保 知乎 编辑:程序博客网 时间:2024/06/05 13:24
对于指针希望这次能全明白
首先分清地址与内容
变量与指针
用来存放变量的地址的变量就是指针变量;*i_pinter表示i_pinter所指向的变量
I=3;
*i_pinter=3; 3赋值给指针变量i_pinter所指向的变量
one;
定义指针变量: 基类行 *指针变量名 float *pointer_3; 分清:pointer_1=&i; 是i的地址放到指针变量 中
注意: 不能将一个整数给一个指针变量赋值: int *pointer_1=2000; x
可以先定义一个变量 变量的地址给指针变量
::: int i ; int * pointer_1=&i;
{ int a,b;
int *pointer1,*pointer2;
a=100;b=20;
pointer1=&a;
pointer2=&b;
cout<<a<<b;
cout<<*pointer1<<*pointer2<<endl; 相同
}
&*pointer1的意义与&a相同
指针做为函数的参数:
作用是将一个变量的地址传送给被调用函数的形参
void swap(int*p1,int*p2);
指向数组元素的指针
就是指向数组元素的地址
int a[]
int *p;
*p=a ;、、 首地址元素 *(p+i) *(a+i) p+i a+i 都是表示指向数组元素 即a【i】 有指针法与下标
指针输出数组:
int a[10];
int i,*p=a;
for(i=0;i<10;i++)
cin>>*(p+i);
cout<<endl;
for(p=a;p<(a+10);p++)
cout<<*p<<endl;
指针变量做函数的形参接收数组地址
void select_sort(int *p;int n)
用指针变量做形参
c++将形参数组名一律作为指针变量来处理
void select_sort(int arry【】,int n) 相当于 void select_sort(int *arry ,int n)
用字符指针指向字符串 :
直接看题: 将字符串str1复制为字符串str2;、
char str1[]="l sf asfs af ",str2[20],*p1,*p2;
p1=str1;*p2=str2;
for(;*p1!='\0';p1++,p2++)
*p2=*p1;
*p2='\0‘;
p1=str1;p2=str2;
1.1 函数指针调用函数
函数类型 (*变量名)(参数表列); -》int (*p)(int, int);
比大小时:max
int max(int x,int y)
int(*p)(int,int)
.........
p=max;//p指向函数max
..........
1.2 用指向函数的指针做函数参数
double irn(double a,..............double(*fun)(double));
将函数名传递给其他函数参数
2. 返回指针值的函数 指针函数 : int *a(int x, int y); a是函数名
................................
3 指向指针的指针:(指向指针数据的指针)
char *(*p) ........可以写成char **p
例子理解:
......
int main()
{char **p;
char *name[ ]={“BASIC”," FORTRAN", "C++","PAS","CDFA"};
p=name+2;
cout<<*p<<endl;
cout<<**p<<endl;
}、
运行结果是:
c++
c
因为*p代表的是name【2】,**p代表的是name【2】中的第一个字符
3 const指针
int a=12;int b=10;
const int*p=&a; 后不能用指针变量修改对象的值 *p=30;不合法
3.2 注意char const *p=“chain”; 是指向不能改变
3.3 const int *const pt=&a; 指向对像和指向对象的值都不能改变;
3.4 (void*p)是指向不确定类型的指针变量
.................................................................................
总结 如图示
简述一下个人针对引用的理解:
就是给一个变量起别名,记得在一本书上介绍一个变量可以有多个别名,一个别名只能对应一个变量。
在引用的使用中,常见的是;
函数传递数据的功能;
例如:
函数声明: void swap(int,int)
swap(I,j);
..............................
void swap(int a,int b) { int temp;temp=a;.........}
还有使用指针变量做形参: void swap(int *,int *);
swap(&I,&j);
}
调用的函数 : void swap(int *p1,int *p2);
........................等
- 指针复习
- 指针复习
- C#指针复习示例
- 复习下const指针
- 复习一下C指针
- C++ 函数指针复习
- [复习C语言]指针
- 指针3复习
- C语言复习-指针
- C指针复习有感
- 指针的复习
- 复习指针变量
- C指针基础复习
- C语言指针复习
- 关于指针的复习
- 复习c语言:指针
- C三级指针复习
- 函数指针复习
- js常用工具
- Java -D参数
- Mysql实战之高可用HMA
- CSS定位、浮动、选择器
- ubuntu下安装Sun Jdk
- 指针复习
- Spring的AOP
- 初始化一个vue项目
- javaScript作用域及垃圾回收
- 拖放排序插件Sortable.js
- android studio显示no debuggable processes
- 10CC寺库平台对接用户手册
- Linux内核中的常用宏--container_of(container_of(ptr, type, member)
- struts2 文件下载文件名中文乱码及变成空格问题