天天看點

【C語言】運作與調試、檢視資訊、優秀的代碼。

🚩write in front🚩   

🔎大家好,我是謓澤,希望你看完之後,能對你有所幫助,不足請指正!共同學習交流🔎

🏅2021年度部落格之星物聯網與嵌入式開發TOP5~2021部落格之星Top100~阿裡雲專家部落客 & 阿裡雲星級部落客~掘金⇿InfoQ~51CTOP創作者(創作新人榜No.38)~[CSDN]周榜102﹣總榜826 ⇿ 全網通路量35w+🏅

🆔本文由 謓澤 原創 釋出在51CTOP 如需轉載還請通知⚠

📝個人首頁-​​謓澤51Ctop的部落格​​📃

🎁歡迎各位→點贊👍 + 收藏⭐️ + 留言📝

📣系列專欄-​​謓澤51Ctop的分類_51CTO部落格​​🎓

✉️我們并非登上我們所選擇的舞台,演出并非我們所選擇的劇本📩

運作與調試常用的快捷鍵 

運作:Ctrl + F11

使用快捷鍵Ctrl + F11可以快速運作目前選中的資源檔案。

調試:F11:是逐漸 它是會進入函數的 把程式細化到步

shift + F11,跳出函數

F10 是逐行 在某條語句調用一個函數的時候 它不會進入(除非那裡設有斷點)

F9:切換斷點

使用快捷鍵F11可以快速調試目前選中的資源檔案。

斷點調試操作:F5、F6、F7、F8

F5和F9的快捷鍵可以進行配合使用。

在斷點調試時,快捷鍵F6是執行下一步(單步跳過);F5是執行目前調用内部細節步驟的下一步(單步跳入);F7是跳過方法内部的執行步驟,直接傳回到方法外的下一步(單步傳回);F8是跳出斷點調試(跳過調試,繼續執行代碼,在下一個斷點處暫停再次進入斷點調試)。

檢視程式的資訊

ctrl + F5:開始執行不調試,如果你想讓程式而不調試就可以進行使用。

自動視窗:當我們程式在執行中的時候,打開自動視窗,自動的把某些程式的上下文變量自動給你觀察,這就是自動視窗的功能。

局部變量:和自動視窗差不多其實,但是它有一個缺點是它不能想監視誰就監視誰。

監視:監視這個作用就比較好了,當你想監視的話就輸入那個變量的值,它就會呈現在你的監視當中,這樣你就可以随時随地的去進行觀察那個變量了。(監視視窗可以說是部落客用的最多的了)

記憶體:如果我們想進行觀察目前程式執行的記憶體的話,這個時候就是你輸入觀察的記憶體資訊了。

(記憶體視窗也是用的可以說是非常多的了)

調用堆棧:在這裡簡單的和各位小夥伴們說下,像棧一樣的邏輯給大家給展示出來它的一個邏輯,頂上往前放資料再往頂上出資料,可以很好回報程式當中的代碼的調棧的調用邏輯。

初學者掌握調試的内容可以達到事半功倍的效果,多多使用調試可以提高程式執行代碼的效率。

如何寫出好的代碼?

優秀的代碼

  • 代碼整潔且規範
  • 注釋清晰,且通俗易懂(代指寫代碼的人)
  • 可讀性,有效性,可維護性
  • bug盡量能夠達到自己能夠預期的範圍之内,就是bug少,或者幾乎沒有bug
  • 文檔齊全,不亂去堆放 

常見的coding技巧 

  • 養成良好的編碼風格
  • 注釋必要的還是要去添加,提高代碼的可讀性
  • 避免編碼的陷阱
  • 盡量使用const
  • 使用assert,頭檔案#include<assert.h>,在assert();裡面的表達式如果為真的話,assert表達式為真就什麼都不會發生,如果assert的表達式為假,那麼就會報錯。

在這裡簡單的跟大家介紹一下const的關鍵字:const修飾的資料是常類型,常類型的變量或者對象的值是不可以被該變的,也就是被它修飾過的是常量,相比之下const常量和#define是有點類似的,但是在我們用數組的時候還是要區分一下,因為數組裡面 [常量表達式],此時我如果 const int n = 10 假設指派給arr數組,int arr[n] = {0};結果是不行的,雖然加了const關鍵字,但實際上也隻是變量隻不過是不能被修改的變量。那麼如果我們這裡用的是#define—定義符号常量就可以了。  

assert代碼使用:

#include<stdio.h>
#include<assert.h>
int My_strlen(const char* pb){
  int Count = 0;//計數
  assert(*pb != NULL);//保證指針的有效性 NULL —— 空指針
  while (*pb != '\0')
  {
    Count++;
    *pb++;
  }
  return Count;
}
int main(void){
  char arr[20] = "nihao C";
  int ret = My_strlen(arr);
  printf("arr(strlen) = %d\n", ret);
  return 0;
}      
【C語言】運作與調試、檢視資訊、優秀的代碼。