指针是个用来存放地址的变量;
&arr表示整个数组;
arr数组名表示首元素的地址;
指针解引用即表示指针所指向的内容
比如:char ptr="abcdef";
ptr; //指针解引用即表示它所指向的内容,即abcdef
ptr; //ptr里保存的是字符串的地址
2.一级指针
一级指针就是指指针,里面放的就是元素的地址,我们可以通过访问元素的地址来找到该地址里存放的内容,即元素本身。
比如:char str1[ ]={1,2,3,4,5,6,7};
3.二级指针
二级指针就是指向一级指针的指针,里面保存的是一级指针变量的内存地址
比如:int a=10;
int pa=&a;
int *ppa=&pa;//表示a的地址存放在pa中,pa的地址存放在ppa中,pa是一 //级指针,ppa是二级指针.
4.指针数组
首先,指针数组是一个数组,数组的元素每一个都是指针类型,这里的指针是用来修饰数组的,在32位平台下,指针占4个字节的大小。
比如:char arr[4]={"hello","world"};//这里的arr是一个指针数组,它里面有两个元素,每个元素都是一个指针类型。
那么,如何判别一个数组是否是指针数组呢?
最好的方法就是加上(),比如:char(arr[4]);其次我们可以也根据符号和[ ]
的优先级来确定其结合性。
原文地址:https://blog.51cto.com/14234314/2402484
时间: 2024-09-30 19:14:38