遇到的问题 malloc、realloc的用法
realloc:(类型 *)realloc(原来的内存地址,新的大小(*类型));
指针的问题:要深刻理解指针,指针也是一个变量,在函数传递参数的过程中,作为参数来讲,传递的也是值。这个值就是指针本身的内容,即指针指向的地址。而
不是传的指针。所以指针作为函数形参是一定要注意!
代码:
#include#include using namespace std;int Maxsize=10;typedef struct SeqListNode{ int data; int len;}*SeqList;void createSeqList(SeqList &seqTable){ seqTable=(struct SeqListNode *)malloc(Maxsize*sizeof(struct SeqListNode)); if(seqTable) { seqTable->len=0; for(int i=0;i len++].data=i; } } cout<<"create success"< len;j>(i+1);j--) seqTable[j].data=seqTable[j-1].data; seqTable[i+1].data=elem; seqTable->len++; } }}int findElem(SeqList &seqTable,int elem){ int i; for( i=0;i len;i++) { if(seqTable[i].data==elem) return i; } if(i>=seqTable->len) { cout<<"can not find the elem"< len;i++) { if(seqTable[i].data==elem) { temp=seqTable[i].data; for(int j=i;j len-1;j++) { seqTable[j].data=seqTable[j+1].data; } seqTable->len--; break; } } if(i>=seqTable->len) { cout<<"can not find the elem"< len) { cout< <<" "; i++; } cout<
运行结果: