在C/C++里,指针本身就是一个容易出错的东西 ,指针数组和指向数组的指针就更让人头痛了。下面以实际代码做讨论。
上面定义的3个变量,哪个是指针数组,哪个是指向数组的指针?
根据一般数组的定义形式,如:int arr[5],推断出ap是指针数组。实际上这是错误的,ap是指向数组的指针,pa和apa才是指针数组,他们是等价的。
使用MS Visual Studio 2005调试,在监视窗口里就可以看到
pa和apa的类型是char*[6],ap的类型是char[6]*。
在C/C++里,指针本身就是一个容易出错的东西 ,指针数组和指向数组的指针就更让人头痛了。下面以实际代码做讨论。
上面定义的3个变量,哪个是指针数组,哪个是指向数组的指针?
根据一般数组的定义形式,如:int arr[5],推断出ap是指针数组。实际上这是错误的,ap是指向数组的指针,pa和apa才是指针数组,他们是等价的。
使用MS Visual Studio 2005调试,在监视窗口里就可以看到
pa和apa的类型是char*[6],ap的类型是char[6]*。