#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
struct Node;
typedef struct Node *PtrToNode;
//typedef PtrToNode List;
typedef PtrToNode Position;
struct Node
{
int Element; //元素
//int Subscrit; //下标
struct Node *Next;
};
Position Create(void); //创建链表
void ...
初始化时置 NULL
指针变量一定要初始化为NULL,因为任何指针变量(除了static修饰的指针变量)刚被创建时不会自动成为NULL指针,它的缺省值是随机的。
释放时置 NULL
当指针p指向的内存空间释放时,没有设置指针p的值为NULL。delete和free只是把内存空间释放了,但是并没有将指针p的值赋为NULL。通常判断一个指针是否合法,都是使用if语句测试该指针是否为NULL。
#include <stdio.h>
#include <string.h>
char *strlong(char *str1, char *str2){
if(strlen(str1) >= strlen(str2)){
return str1;
}else{
return str2;
}
}
int main(){
char str1[30], str2[30], *s...