1. 指针和数组 指针是个用来存放地址的变量; &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]);其次我们可以也根据符号和[ ] 的优先级来确定其结合性。