1、*p = a 是错的,因为这句话的意思是将变量a的值复制并存放到指针p指向的地址空间里。但是你初始化的时候给指针p赋了NULL,即空指针,所以此时p不指向任何地址空间,那么程序无法将a的值放到存储空间里,所以程序报错。2、p=&a 是对的,因为int a = 0xa5 这一句代码创建了一个int型变量a,...
主要有三种首先,当指针所指向的内存被释放后,如果我们没有及时将指针置为NULL,那么这个指针就仍然存储着已经被释放的内存地址,是一个野指针。其次,如果我们在定义指针时没有及时进行初始化,那么这个指针就会包含一个随机的、不确定的值,它可能指向任何内存地址,从而可能引发不可预测的错误。最后,如果我们对指针的操作...
下面给出Merge函数旳主体框架,在空出旳五个位置补充该主体框架缺失旳代码段。注意:不能定义新旳变量,可不用已定义旳某些变量。typedefstructNode{int data;struct Node *next;}Node;Node *Merge(Node *head1,Node *head2){if ( head1==NULL)return head2;if(head2==NULL)return headl;Node *head=NULL;/...
NULL) return-1 S->max=n;(1)=0;return 0; } int Push (Stack * s,int item) /*将整数item压入栈顶*/ { if(S->top==S->max){printf(“Stack is full! “);return-1;} (2)= item; return 0 } int StackEmpty(Stack S) { return(! S. top)? 1:0; }/*判断栈是否为空*/ int ...