int *a;//a为指针类型;在未赋地址的情况下不能直接赋值//错误方式int b = 1;*a = b;//正确方式int b = 1;a=&b;2. free后赋NULL值

free函数只是把指针指向的内存空间释放了,即内存中存储的值,但是并没有将指针的值赋为NULL,指针仍然指向这块内存。而程序判断一个指针是否合法,通常都是使用if语句测试该指针是否为NULL来判断,导致指针成为所谓的“野指针”,诱导误操作

void DestroyList_Sq(SqList *L){ free(L->elem); L->elem=NULL; L->length=0; L->listsize=0;}3. realloc 最好声明一个新的指针

c语言代码大全表解释 线性表之顺序表代码(c语言版)

①j=++i;(i的值先变成4,再赋给j,j的值为4)

if(L->length>=L->listsize){ LElemType_Sq *newbase; newbase = (LElemType_Sq*)realloc(L->elem,((L->listsize)+LIST_INCREMENT)*sizeof(LElemType_Sq)); if(!newbase){ exit(OVERFLOW); } L->elem = newbase; L->listsize+=LIST_INCREMENT; }

c语言程序设计 C