指向数组的指针和指针数组的区别

指向数组的指针和指针数组的区别主要在哪,怎么辨别,又怎么理解
    例如 int * bu[15];和 int (*bu)[15];怎么更好的理解记忆

int (*p)[4]; // 定义一个数组指针,指向含4个元素的一维数组,数组元素是int类型。
int *p[4]; // 定义一个指针数组,数组中每个元素是一个指针,指针指向哪里就要根据程序来定了。

判断数组指针与指针数组主要通过运算符的优先级来判断。
int (*p)[4]; // 由于( )的优先级高,说明p是一个指针,指向一个一维数组的指针
int p[4]; // 由于[ ]的优先级高,先与p结合成为一个数组,再由int说明这是一个整型指针数组

http://www.cnblogs.com/mq0036/p/3382732.html

指针数组:放指针的数组,数组里全是指针(也就是地址)
数组指针:这个指针是指向一个数组首地址的。

指针与数组的区别:
从空间分配、访问效率、安全性、函数传参等方面说明二者区别:
 
1.空间分配:数组是静态内存分配,指针是动态内存分配;
 
2.访问效率:数组是直接访问数据所在内存,指针是间接访问,因此数组的访问效率较高;
 
3.安全性:数组要防止数组越界,指针要防止内存泄露;
 
4.传参:一维数组名,用数组元素的指针来接;
传二维数组名,用一维数组指针来接;
传三维......
答案就在这里:指针与数组的区别
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

问下int (*p)[4]和这个int p[4]没啥区别吧

指针与数组的区别:
从空间分配、访问效率、安全性、函数传参等方面说明二者区别:

1.空间分配:数组是静态内存分配,指针是动态内存分配;

2.访问效率:数组是直接访问数据所在内存,指针是间接访问,因此数组的访问效率较高;

3.安全性:数组要防止数组越界,指针要防止内存泄露;

4.传参:一维数组名,用数组元素的指针来接;
传二维数组名,用一维数组指针来接;
传三维......
答案就在这里:指针与数组的区别
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。