c语言指针容易混淆的一些应用
Posted 狂奔De鸵鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言指针容易混淆的一些应用相关的知识,希望对你有一定的参考价值。
数组名称等价于指针
int iArry[] =1,2,3,4,5;
int * p;
p = iArry;
//数组名iArry等价于一个指向该数组的指针
//方括号[]数组下标运算符号 相当于取址
//怎么理解呢,iArry[1] 等价于 &iArry+1 或 *p+1;
//数组名iArry是指向该数组第一个元素的首地址
//iArry指向的地址 = iArry[0] 但 iArry不等价于iArry[0] 也就是说iArry等价于&iArry[0]
//比如 &iArry[0]+1 等价于 iArry+1
看测试代码
int main()
int iArry[] = 1,2,3,4,5 ;
int* p = iArry;
printf(" *p = %d\\r\\n",*p);
printf(" *iArry = %d\\r\\n", *iArry);
printf(" iArry[0] = %d\\r\\n", iArry[0]);
printf(" *(&iArry[0]) = %d\\r\\n", *(&iArry[0]));
printf(" *p+1 = %d\\r\\n", *p+1);
printf(" *iArry+1 = %d\\r\\n", *iArry+1);
printf(" iArry[1] = %d\\r\\n", iArry[1]);
printf(" *(&iArry[0])+1 = %d\\r\\n", *(&iArry[0])+1);
运行结果
以上是关于c语言指针容易混淆的一些应用的主要内容,如果未能解决你的问题,请参考以下文章