数组和指针

来源:互联网 发布:阿里网络银行 编辑:程序博客网 时间:2024/05/17 01:52

指针是常数:int* const a;

指针所指的内容是常数:const int *p;

int* a,b ,c表示的是int *a, int b 和int c 

尴尬数组和指针之间存在的等价关系:

    (1)一维数组等价于元素的指针

            int a[10]<---->int * const a;

    (2)二维数组等价于指向一维数组的指针

            int b[3][4]<----->int (*const b)[4];

     (3)三维数组等价于指向二维数组的指针

             int c [3][4][5]<------>int(*const c)[4][5]

尴尬数组传递在C++/C中默认就是地址传递,struct和class对象默认都是按值传递。


尴尬字符数组,字符指针,和字符串


注:如果用一个字符串字面常量来初始化一个字符数组,数组长度至少要比字符串字面常量的长度大1,因为还要保存结束符‘\0'.

 char array[]=“Hello";

数组array的元素为{'H','e','l','l','o','\0'}


惊恐函数指针

      函数指针就是指向函数体的指针,其值就是函数体的首地址。

在源程序层面,函数名就代表函数的首地址。




0 0