取地址运算符和指针运算符
自学C语言,借别人的程序看,看到指针这一部分使用搞不太清楚,最近模糊的有点心得,请高手指评一下。unsignedchardataConvert(uchar*dataP,u...
自学C语言,借别人的程序看,看到指针这一部分使用搞不太清楚,最近模糊的有点心得,请高手指评一下。
unsigned char dataConvert(uchar *dataP , uchar len , uint *resultP){}//这是一个函数
if(dataConvert(&modItem[2] , (imodItemLen - 2) , &iTmpItem) == ERROR)//这是这个函数被调用的语句。
有几个结论,请帮忙看看对不对:
1.按照我的理解,&iTmpItem和*resultP应该是通过指针运算变成了一个变量;2.resultP实际上是(指向了一个)地址,这个地址中存的内容是真正数据所放位置的地址;
3.假如iTmpltem是真正的数据,那么&iTmpltem是数据的地址;
4.在这里虽然resultP和&iTmpltem都是地址,但是两者是不相等的;
5.*resultP是地址resultP中所存放的地址的位置,在这里.*resultP和&iTmpltem是等价的。 展开
unsigned char dataConvert(uchar *dataP , uchar len , uint *resultP){}//这是一个函数
if(dataConvert(&modItem[2] , (imodItemLen - 2) , &iTmpItem) == ERROR)//这是这个函数被调用的语句。
有几个结论,请帮忙看看对不对:
1.按照我的理解,&iTmpItem和*resultP应该是通过指针运算变成了一个变量;2.resultP实际上是(指向了一个)地址,这个地址中存的内容是真正数据所放位置的地址;
3.假如iTmpltem是真正的数据,那么&iTmpltem是数据的地址;
4.在这里虽然resultP和&iTmpltem都是地址,但是两者是不相等的;
5.*resultP是地址resultP中所存放的地址的位置,在这里.*resultP和&iTmpltem是等价的。 展开
展开全部
1、你可以这么理解吧⋯⋯其实所谓指针,同样可以视为变量。这里uint *resultP解读作(uint *)resultP,也就是一个指针类型的变量,该变量名叫做resultP,它的类型是一个指向无符号整数的指针。
2、是的,你的理解正确。
3、理解正确。
4、理解有误。这里的resultP是定义函数时的参数,而&iTmpItem则是在调用函数时传递进去的参数。在你调用dataConvert(&modItem[2] , (imodItemLen - 2) , &iTmpItem)时,参数resultP的值就是&iTmpItem。打个比方,假设你定义了一个函数y=f(x),然后你计算y=f(a)的值,那么在你计算的时候,x=a。
5、不是。*resultP是resultP所指向的内容,是一个整数;而&iTmpItem是指向整数iTmpItem的指针。在你调用函数dataConvert时,你可以说resultP和&iTmpItem等价,或者*resultP和iTmpItem等价。
2、是的,你的理解正确。
3、理解正确。
4、理解有误。这里的resultP是定义函数时的参数,而&iTmpItem则是在调用函数时传递进去的参数。在你调用dataConvert(&modItem[2] , (imodItemLen - 2) , &iTmpItem)时,参数resultP的值就是&iTmpItem。打个比方,假设你定义了一个函数y=f(x),然后你计算y=f(a)的值,那么在你计算的时候,x=a。
5、不是。*resultP是resultP所指向的内容,是一个整数;而&iTmpItem是指向整数iTmpItem的指针。在你调用函数dataConvert时,你可以说resultP和&iTmpItem等价,或者*resultP和iTmpItem等价。
展开全部
4.在这里虽然resultP和&iTmpltem都是地址,但是两者是不相等的;
resultP和&iTmpltem都是指向同一个内存地址,两个代表的地址值是完全相等。
5.*resultP是地址resultP中所存放的地址的位置,在这里.*resultP和&iTmpltem是等价的。
"在这里.*resultP和&iTmpltem是等价的。"=>在这里. *resultP 和 iTmpltem是等价的。
resultP和&iTmpltem都是指向同一个内存地址,两个代表的地址值是完全相等。
5.*resultP是地址resultP中所存放的地址的位置,在这里.*resultP和&iTmpltem是等价的。
"在这里.*resultP和&iTmpltem是等价的。"=>在这里. *resultP 和 iTmpltem是等价的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询