最赞回答 / Hello_Word_
p+1 中1指的是一个单位长度,这里的单位长度是由数据类型决定的,=1*该数据类型所占字节数,这里面p的数据类型为自定义的结构体,+1移动的字节数就是一个结构体的长度,,,,,不懂请追问
2017-02-15
已采纳回答 / 筑梦之队
//倒序打印for(index=0; index<=length/2-1; index++) //二分 交换 { temp = word[index]; word[index] = word[length-index-1]; word[length-index-1] = temp;}1、一个基本的错误为:没有意识到数组的下标是位于[0,length),所以导致出现了后面两个问题:2、二分交换的结束值的取值有问题。应该是length/2-1,而不是(length+ind...
2017-01-20
已采纳回答 / 天之大
malloc返回的是开辟空间的首地址,他并不知道你放的是什么类型的东西,所以要用第一个括号中的内容强制转换指针类型为struct weapon*,和p1的类型转为一样,否则会警告指针类型不符合sizeof运算符可以求类型所占空间大小比如sizeof(int),也可以求某个量的空间大小,比如struct weapon weapon1={......};可以用sizeof(weapon1)求他的大小,等于sizeof(struct weapon)
2016-12-26
最新回答 / Stanislas
不一定要free,在该程序结束后内存会自动释放。需要free的情况是在程序运行过程中,出现反复调用内存的情况,这时候为了提高效率,不再用到的内存就free掉
2016-12-22
已采纳回答 / 慕粉13285976209
首先, p1和p2是指针, 他们都指向一个地址. 这里的scanf中取的是(p1->atk)这个整体的地址. "->"的优先级高于"&".
2016-12-02