實訓linux 專案學習(介紹與基本操作)

2021-10-01 18:37:54 字數 1715 閱讀 7721

前言:最近在實訓linux環境下編寫程式,這個系統和windows系統不一樣,初次真正接觸linux有點不習慣,但是實訓老師說將來工作大多在這個系統下編寫程式,萬般無難廢了cb的除錯,一直用終端編寫程式,幾天下來也習慣了linux的環境,非常順手!我要記錄一下一下學習這個過程!!!

linux的介紹:

1開源-安全-免費(free的系統第一次聽說!)

2linux檔案系統是一棵單根樹;模擬windows是一棵多根樹。

3linux基本命令:

1)cd 目錄名稱 (進入某一目錄)

2)ls 目錄名稱 (列出目錄的名稱)

3)mkdir 目錄名 (建立目錄)

4)rmdir 目錄名(刪除空目錄名)

5) touch 檔名 (建立 )

6) rm 檔名 (刪除檔案)

7) rm-r 目錄名稱 (遞迴刪除)

8) gedit b.c (編譯c程式)

9) cp 檔名 新檔名 (檔案拷貝)

cp 全路徑/檔名 全路徑/檔名

2vim的操作

3學生管理系統(不同於單鏈表-用雙向循壞鍊錶)

可變長結構體

struct node

;1 什麼是柔性陣列?

柔性陣列既陣列大小待定的陣列, c語言中**結構體的最後乙個元素可以是大小未知的陣列,也就是所謂的0長度,**所以我們可以用結構體來建立柔性陣列。

2 柔性陣列有什麼用途 ?

它的主要用途是為了滿足需要變長度的結構體,為了解決使用陣列時記憶體的冗餘和陣列的越界問題。

3 用法

在乙個結構體的最後 ,申明乙個長度為空的陣列,就可以使得這個結構體是可變長的。對於編譯器來說,此時長度為0的陣列並不占用空間,因為陣列名本身不佔空間,它只是乙個偏移量, 陣列名這個符號本身代 表了乙個不可修改的位址常量 (注意:陣列名永遠都不會是指標! ),但對於這個陣列的大小,我們可以進行動態分配,對於編譯器而言,陣列名僅僅是乙個符號,它不會占用任何空間,**它在結構體中,只是代表了乙個偏移量,代表乙個不可修改的位址常量!**對於柔性陣列的這個特點,很容易構造出變成結構體,如緩衝區,資料報等等。

1 typedef struct _s_hb_time_report_info

2attribute((packed)) s_hb_time_report_info;

我們可以用sizeof(s_hb_time_report_info) 求得陣列大小為4,說明柔性陣列是不占用記憶體的。這**樣的變長陣列常用於網路通訊中構造不定長資料報,不會浪費空間浪費網路流量,**比如我要傳送1024位元組的資料,如果用定長包,假設定長包的長度為2048,就會浪費1024個位元組的空間,也會造成不必要的流量浪費。

所以建議使用柔性陣列去定義可變大小結構體。

蘇嵌專案實訓 學習日誌1

學習日誌 姓名 王文傑 日期 2018.9.3 今日學習任務 安裝虛擬機器環境,學習關於c語言指標類的知識點,並能實現在虛擬機器下進行程式的編譯和執行操作。今日任務完成情況 安裝完成虛擬機器環境,並且在老師的指導下完成了所有的程式任務,同時進行c語言程式的編譯和執行。作業 今日開發中出現的問題彙總 ...

蘇嵌專案實訓 學習日誌1

蘇嵌 專案實戰 學習日誌 姓名 李金泉 日期 2018.9.3 今日學習任務 上午安裝虛擬機器環境,下午開始學習關於c語言指標類的知識點,並能實現在虛擬機器下進行簡單程式的編譯和執行操作。今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 今日開發中出現的問題彙總 開始的時候對c語言的知識...

實訓七(專案準備與建立)

因為之前就有過準備,專案的環境 工具以及建立就簡而言之了,關於專案的建立網上有很多教程,按照自己習慣的方式來就可以。工具與環境 vs2013 python2.7.8 cocos2d x 3.10 android ndk r9d android sdk windows r24 updated apac...