原创 樹(1)

樹 樹是一種元素之間存在一對多關係的數據結構,常用於表示組織結構、輔助排序、查找等,一般以倒懸樹的形式顯示,根在上支在下。 樹相關的術語 根:樹的最頂層的元素,有且僅有一個。 雙親:指的是上一層元素。 孩子:指的是下一層元素 度:

原创 文件

文本文件與二進制文件: 磁盤只能存儲二進制數據 int num = 100; 文本文件中存儲的是ASCII碼的二進制,先把數據轉換成字符中,再寫入到文件中,可以直接被文本編輯器打開 -> ‘1’,‘0’,‘0’ -> 存三

原创 結構

結構(struct) 注意:命名開頭大寫! 什麼是結構: 一種程序員自己設計的數據類型,由若干個不同的數據類型組成,可用於描述一個事物的各項數據 設計結構 struct 結構名 { 類型1 成員名1:n; /

原创 多文件編程

多文件編程 當代碼過多時如果全寫在一個.c文件中就會對代碼的編寫、閱讀、調試造成干擾,爲了更方便地管理代碼,一般都按照功能模塊,把代碼拆分成多個.c文件,爲每個.c文件編寫一個.h文件用於說明.c中有哪些函數、全局變量,然後分別編

原创 數據結構簡介

什麼是數據結構 數據結構不是一門研究數據計算的的學科,而是研究數據與數據之間關係的。 數據結構的起源: 美國高納德教授,於1968年開設一門《基本算法》的課程,開創的數據結構和算法的先河。 提出一個公式: 數據結構+算法=程序 數

原创

順序表(存儲結構) 1、設計數據結構(與結構體相似) 2、分析所具備的算法 3、實現算法 4、使用算法 鏈式表(存儲結構) 每個元素都獨立存儲在內存中的任意位置,元素之間有指針指向來維護關係(元素中有一個數據域指針,指向自己類型)

原创 字符串(1)——相關定義

字符 字符就是符號或圖案,在計算機中是以整數形式存儲的,當需要顯示的時候會根據ASCII碼錶中的對應關係顯示出相關的符號 ‘\0’ -> 0 ‘0’ -> 48 (字符0) ‘A’ -> 65 ‘a’ -> 97 串 一種數據結

原创 內存相關

內存映射 當程序運行後,就會有0~4G地址範圍(並不能全部訪問,地址沒有對應物理內存) 如果訪問了沒有映射過的地址(邏輯地址)就會產生段錯誤 當首次使用malloc申請內存時,malloc沒有內存可分配,它會向操作系統申請進行內存

原创 堆內存管理

堆內存是代碼段當中的其中一段,特點就是大,但不能與標識符建立聯繫,只能與指針配合使用 C語言沒有提供管理堆內存的語句,而是標準庫提供了一套管理內存的函數 函數 #include<stdlib.h> void * malloc(si

原创 vim文本編輯器

基本用法: vim file.c // file.c文件存在則打開,不存在則創建 輸入i、a,進入編輯模式,編寫C代碼 vim三大模式: 正常模式(菜單模式):閱讀代碼,快速修改代碼 插入模式(編輯模式):編寫代碼 行底模式

原创 存儲數據的容器或盒子

變量 定義:類型 變量名; 變量的默認值是不確定的,一定要初始化較穩妥 變量取名硬性規定: 1、由數字、字母、下劃線組成,不能使用其它符號 2、不能以數字開頭 3、不能與關鍵字重名(32個) 使用: 1、可以被賦值 -> nu

原创 數組

什麼是數組: 數組就是相同類型變量的組合,它是一種制定定義變量的方法 一維數組: 把變量排成一排 定義:類型 數組名[數量]; int arr[5]; int num1,num2,num3,num4,num5; 使用:數組名+編號

原创 變量的分類

變量的屬性: 存儲位置、生命週期、作用域 全局變量 定義在函數外 存儲位置:初始化過存儲在全局段,未初始化存儲在靜態數據段,全局變量有默認值(0) 生命週期:程序運行前就定義好,程序結束後纔會被釋放,在程序運行期間不會被釋放,比

原创 程序在內存中的分佈情況

一個程序運行後在內存中會劃分成不同的內存段(一般爲50或60),其中與編程相關有: 代碼段:二進制指令,只讀權限 只讀段:用來存儲常量,一旦被修改就會產生段錯誤 全局段(data):存儲全局變量 靜態數據段(bss):程序運行後這

原创 運算符

算術運算符:+ - * / % / 和 % 除數不能爲零 --> 爲零的結局:浮點數例外(核心已轉儲) 關係運算符:> < >= <= == ! (1) 3 < x < 9 -> x值永遠爲真 ->