最赞回答 / LZ子龙
懂了懂了,是要struct test{ char name[20]; int id; test* next; };void main(){ test *p; p=create(); cout<<p->name<<" "<<p->id<<endl; cout<<p->next->name<<" "<<p->next->id<<endl;}那问题又来了,在下一个节点怎么访问呢...
2015-12-20
已采纳回答 / 流浪_老
这是链表的知识啊 else p2->next = p1; 在这句代码里面P2->next 指向了P1 然后把P1的值付给了P2 这个时候的 P2是另外一个内存空间 下一次用是不会覆盖上一次的地方的 P2最后会指向 最后一个节点 只需要找到头指针 根据链表的性质就可以输出整个链表了
2015-12-03
最新回答 / onemoo
create函数的返回类型是struct weapon指针。可在函数中,一开始声明了p1和p2两个指针,然后申请了一段内存,让p1和p2指向它。可紧接着就return 0; 了,函数就返回了!并且返回的是个NULL指针! 后面的代码完全没用到。在main中,p得到的就是个空指针,访问空指针是不允许的! 所以后面printf在试图访问空指针时就引起了segmentation fault
2015-11-20
最新回答 / onemoo
0xFF 这个是只有低8位为1,高位全是0。整型10 是低4位为 1010,高位全为0,且一般来说是占用32位。你应该明白了吧,区别就在于高位的行为不一样。取反是将a高位的0都变成1,这样最高位的符号位也变成1了,所以最终值是负的。而异或后,a的后8位都取反了,但前24位保持不变。这样值就是245.
2015-10-26
已采纳回答 / AAnonymous
malloc是分配内存(type*)malloc(size);分配size个字节的内存,因为malloc只能分配多少字节的内存,不能指定分配内存存什么类型,所以强转为某类型(type*)其实这里C++写相当于 p1=p2=new weapon();
2015-09-03