C 與C指標操作種類

2021-06-16 09:29:57 字數 1582 閱讀 2587

總的來說指標操作可以有3種,一種返回頭指標,一種傳入頭指標,一種傳入引用(c++)。

typedef struct lnode

lnode,*linklist;

傳入頭指標(確切是頭指標的指標,因為要更改原頭指標;如果只傳入頭指標的話,由於c語言函式形參是乙個副本,那樣就更改不了頭指標了)

void createlist_l(linklist *l,int n)

else

}}

返回頭指標(c語言最常用的方法)

linklist create()    //鍊錶建立

else

p2->next=p1;

p2=p1;

p1=(linklist)malloc(sizeof(lnode));

cin>>p1->num;

n++;

}p2->next=null;

return head;

}

傳入引用(c++獨有)

void createlist_l(linklist &l,int n)//建立鍊錶

else

}}

我把剩餘的引用型所有操作列出來

void listinsert_l(linklist &l,int i,elemtype e)//插入元素

if(!p||j>i-1) printf("error");

s=(linklist)malloc(sizeof(lnode));

s->data=e;s->next=p->next;

p->next=s;

}void listdelete_l(linklist &l,int i,elemtype &e)//刪除元素

if(!p->next||ji-1) printf("error");

q=p->next;p->next=q->next;

e=q->data;free(q);

}void listlength_l(linklist l,int &n)//求鍊錶長度

void search_l(linklist l,int i)//根據位置尋找元素

{elemtype data;

linklist p;

p=l->next;

int j;

for(j=0;jnext;

data=p->data;

cout<<"查詢的元素值為:"next) coutcout<

拿這三種方式來說,個人感覺如果是c環境下用傳入頭指標的方式好(比返回值複雜一些),c++傳入引用方式好。也就是說不用返回頭指標方式。

C指標操作(一)

1.指標的型別 2.指標所指向的型別 3.指標的值 或者叫指標所指向的記憶體區或位址 4.指標本身所佔據的記憶體區主要注意運算子優先順序 1.指標的型別 從語法的角度看,你只要把指標聲語句裡的指標名字去掉,剩下的部分就是這個指標的型別。這是指標本身所具有的型別。讓我們看看例一中各個指標的型別 1 i...

C指標操作(二)

include include using namespace std int main char a 20 you are a girl char p a char ptr p printf p d n p printf p d n p printf p c n p printf ptr d n ...

C與C 基礎 陣列指標與指標陣列

c與c 基礎 陣列指標與指標陣列 c與c 基礎 結構體struct和typedef struct 區別 c與c 基礎 函式 c與c 基礎 記憶體管理 陣列指標也成為行指標,陣列指標,就是乙個指標,指向乙個一維陣列。定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一...