C語言高階第一節雜談

2022-08-01 04:21:13 字數 1203 閱讀 7599

電腦程式 = ** + 資料

**是動作,資料是數字

程式執行的目的:結果,過程

馮洛伊曼結構和哈佛結構

馮洛伊曼結構:資料和**放在一起。

哈佛結構:資料和**分開存放。

核心點:存放介質是否相同。

在s5pv210的linux系統中,資料和**存放在dram中,屬於馮偌依曼結構。

在一般微控制器中,**在norflash(外存)中,資料存放在ram(記憶體)中。屬於哈佛結構。

記憶體管理方法

(1)作業系統和裸機:

作業系統:使用api管理。

裸機:直接操作記憶體。

(2)語言角度來說:

c語言:編譯器幫忙管理,通過變數名。如果需要大量記憶體,在os中,用malloc,在裸機中,用陣列等資料結構。

記憶體編址模型

把記憶體看成一棟樓,記憶體中的單元格好像大樓中乙個乙個的小房間,

一層有4個房間(32位系統),每個房間有乙個編號(位址),

每個房間可以

住1個位元組(記憶體編址以位元組為單位)。

最簡單的資料結構:陣列

注意:陣列的定義是一定要是指明首位址和長度的。變數名代表首元素首位址。

結構體內嵌指標實現物件導向

1

structs2

age 相當於class中的成員,用乙個函式指標指向乙個void func(void)的函式,函式

類似於class中的方法,則可以實現物件導向。

四種棧

空棧:棧指標指向空位,每次存入直接存入然後棧指標移動一格,每次取出則先移動乙個才能取出

滿棧:棧指標指向棧中最後一格資料,每次存入需要先移動棧指標一格再存入,取出直接取出,然後在移動棧指標

需要防止棧溢位,不能定義太多區域性變數。

鍊錶簡介

鍊錶是由乙個乙個節點組成,乙個節點包括2個指標,前指標和後指標,前指標指向前乙個節點,後指標

指向後乙個節點,這樣就把乙個乙個節點連線起來了。

以上比較雜的知識點來自朱老師物聯網大講堂,是自己重複看第二遍的一些不太懂的知識

點。

Python 高階第一節

資料庫 database 就是乙個儲存資料的倉庫 特殊的檔案 mysql是一種開放源 最常用的語言是 結構化查詢語言 sql mysql是管理內容最好的選擇。sqlyog是乙個快速而簡潔的圖形化管理mysql資料庫的工具,也是乙個開源軟體 注意 sqlyog只是乙個連線資料庫的工具,並不是資料庫 s...

第一節 go語言入門

demo package main import fmt func main run go run helloworld.go生成二進位制檔案 go build helloworld.go包 乙個或者多個原始檔構成了包讀取命令列 package main import fmt import os f...

第一節綜述

shader是什麼?shader是著色器。渲染流水線的概念?渲染流水線的工作任務在於由乙個三維場景出發,生成一張二維影象。渲染流程分為3個階段 應用階段 幾何階段 光柵化階段。1 應用階段 由cpu負責實現,由開發者主導。最重要的輸出是渲染所需的幾何資訊,即渲染圖元。這些渲染圖元傳遞給幾何階段。2 ...