1.點操作符和箭頭操作符的使用區別
結構變數---用點操作符
結構指標---用箭頭操作符
struct student
; //注意這個地方要有分號
student s1;
s1.name="lawliet";
s1.id=10125;
student * s2;
s2->name="lawliet";
s2->id=10125;
2.結構是可以巢狀的,要注意用多次點取操作。
struct education;
struct student;
student s1;
s1.school.gpa=4.0; //多次點取操作。
3.結構作為一種「資料型別」,也有陣列,指標和引用。
struct student;
結構陣列:
student students[2]=,};
cout《注意:結構和陣列乙個重要的區別是:
陣列不可以相互賦值,而結構可以。因為陣列是常量指標。
例如:int a[2]=;
int b[2];
b=2; // error;
student s1=;
student s2;
s2=s1; // ok
結構指標:
student s1=;
student* sp=&s1;
// s1前面要加&,因為和陣列不一樣,結構變數不是指標,結構的用法和一般的資料型別是一樣的。
結構引用:
student s1=;
student &s2=s1; // 結構引用s2是s1的別名。
需要傳遞結構引數時,一般傳遞結構指標,或者結構引用,而不把結構變數直接傳遞過去。
#include
using namespace std;
struct student;
student students[3]=,,}
void main(); // 結構指標陣列
sort2_by_id(stdn);
}void sort1_by_id(student& students)
void sort2_by_id(student* * students)
4.鍊錶結構:
結構內部不可以有自身結構變數,但是可以有自身的結構指標作為成員變數,這樣子就可以做鍊錶了。
例如:struct student;
簡答鍊錶結構的舉例:建立鍊錶。
注:另外刪除鍊錶結點和插入鍊錶結點就不在這裡贅述了。
#include
using namespace std;
struct student;
student* head;
student* create()
else
pend=ps;
ps=new student;
cin>>ps->number>>ps->score;
}pend->next=null;
delete ps;
return head;
}void showlist(student* head)
}void main()
Redis資料型別 鍊錶
節點由三部分組成,分別是指向前乙個結點的指標和指向後乙個節點的指標加上節點儲存的值value。鍊錶的組成是由節點listnode組成的,並且使用的是 adlist.h list 來操作鍊錶 list的結構有如下 listnode head 鍊錶的頭節點 listnode tall 鍊錶的尾節點 un...
Python 構造單向鍊錶資料型別
coding utf 8 class node 建立鍊錶的屬性 def init self,item self.item item self.next none defcreate head linklist arr 頭插法建立鍊錶 param arr return head node arr 0 ...
資料結構鍊錶實現
二 實驗基本原理與設計 三 主要儀器裝置及耗材 四 附錄 利用linux gnu make c 專案管理軟體工具實現資料結構鍊錶 linked list 要求實現以下功能 push,pop,insert,delete,search,visit go through,clear。節點的資料必須具有一般...