一级指针,二级指针,指针数组,数组和指针

  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]);其次我们可以也根据符号和[ ]
    的优先级来确定其结合性。

猜你喜欢

转载自blog.51cto.com/14234314/2402484