目錄
前言
小鯉碎碎念
必備基礎知識
1,C的基本操作,
2,指標
3,結構體
前言
鏈表是資料存盤的重要形式之一,但是對初學者不太友好,本系列將針對鏈表盡量詳細的敘述,由于本人知識水平有限,如果讀者發現問題,請指出斧正,感激不盡,
小鯉碎碎念
當初小鯉在學習鏈表的時候,秀發掉了不少/(ㄒoㄒ)/~~

現在想來,還是太年輕了`(*>﹏<*)′
在正式開始學習鏈表之前,你一定要學習一些基礎知識,下面小鯉會一一列出,已經掌握的可以跳到第二節,
必備基礎知識
1,C的基本操作,
包括但是不限于:輸入輸出,回圈,條件控制等 ,如果這部分沒有掌握,暫時別往下走,
我們通過一道練習題來掌味訓本操作,本題不做更多的解釋,如果有不理解,可以私信,
509. 斐波那契數

int f[31]; //(1)
int fib(int n){ //(2)
f[0]=0;
f[1]=1;
if(n==0){ //(3)
return f[0];
}else if(n==1){
return f[1];
}else{ //(4)
for (int i=2;i<=n;i++){
f[i]=f[i-1]+f[i-2];
}
}
return f[n];
}
int main(){ //(5)
int n,ans; //(6)
scanf("%d",&n); //(7)
ans=fib(n);
printf("%d",ans); //(8)
return 0;
}
簡單說明一下,leetcode只要求你給出函式,但是如果你沒有跳過本節內容,希望你將本節所有簡單例子都在編譯器上跑一遍,
(1)定義陣列,方式為 type name[ ],[ ]所填為元素個數,
(2)fib函式,定義函式為 type name (type1 name1,type2 name2){
}
()內為形參表,{ }為函式體,呼叫時要有函式宣告,
(3)條件判斷 if( 測驗條件){
陳述句1;
} else{
陳述句2;
}
測驗條件為真,執行陳述句1,否則執行陳述句2,
(4)回圈,for( 初始化;回圈條件;運算式){
}運算式一般使回圈某個條件做出改變,使條件不成立,退出回圈,
(5)主函式,
(6)定義變數,
(7)輸入,scanf("%d",&n);% _于&_的型別一一對應,&為取地址符,
(8)輸出,
2,指標
我們知道,任何一個變數在定義的時候在記憶體塊系統都會為其申請一個記憶體,計算機的記憶體一般統一按十六進制編號,很容易想到,只要我們有了這個編號,就可以訪問這個記憶體的內容,
int a = 3;
int *p; //(1)
p = &a; //(2)
*p = 5; //(3)
(1)定義了一個整型變數指標,* 為指標標志,不做任何作用;
(2)對p賦值,p為指標變數,只能儲存和他型別相同的變數地址,用&取地址得到a的地址,此時,*p的值為a,即3,這里的*為解地址符,有實在意義,
(3)可以通過* p 改變a的值,此時a的值為5,
3,結構體
有的時候,int,float,double,char等等資料型別可能還是不夠我們用,可能我們比較刁鉆吧,但是C的開發者很貼心留下了一種機制,可以讓我們自定義型別,那就是struct,
舉個栗子,
struct name{
int a;
char b[10];
};
那么我們現在就有一種資料型別struct name,他有兩個成員,整型變數a,和字符陣列b,
需要注意的是,定義型別時不能直接賦初值,如 int a 改寫為 int a=10是錯誤的,
struct name num[10];我們現在定義了struct name型別的陣列num,
怎么使用呢?對某個成員,如struct name 里的a,我們用.來參考,如num[0].a,即代表num[0]里的成員a,而指標的話,我們可以用->,
如:
struct name * p;
p=&num[0];
p->a=10;
這里就通過指標對num[0]的a進行賦值,
小鯉只是一條想要好運的笨鯉魚o(* ̄▽ ̄*)ブ
今天的內容已經結束了>_<
如果我的文章對你有幫助,不要吝惜你的點贊,小鯉希望得到你的支持?(′?`?)
求三連和關注!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/389154.html
標籤:其他
