C語言打洞訪問基本原理

2021-07-23 09:38:09 字數 564 閱讀 1678

在學習c語言的過程中,指標是非常重要的乙個知識。本文件分析的就是指標打洞的乙個小例項。

實驗目的:連續定義a,b,c三個int型變數,如何用變數b直接訪問其他兩個變數,並輸出。

實驗環境:windows系統下的dev c編譯器。

解析:連續定義三個變數,在c語言的學習中,我們知道,臨時定義變數是儲存在棧裡的,而連續定義的變數之間的位址也是連續的。三個變數中,我們只要知道其中乙個變數,就可以通過位址之間的空間打洞去訪問其他的變數(這裡的&是取位址符號)。

例項**:

#include

int main()

int a=1, b=2, c=3;

printf("a, b, c 的位址分別是:%d, %d, %d\n", &a, &b, &c);

printf("a = %d\n", *(&b+1));

printf("c = %d\n", *(&b-1));

return 0;  

執行結果:

C語言編譯的基本原理

c語言編譯的基本策略是使用程式將源 檔案轉換為可執行檔案。這個過程分為三部分 源 檔案 目標 檔案 可執行檔案 用到兩個元件 編譯器 鏈結器。編譯器的作用是將源 轉換為中間 產生中間檔案。鏈結器將此中間 與其他 相結合來生成可執行檔案。中間檔案的形式有多種,一般就是將源 檔案轉換為機器語言 將其結果...

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

分頁基本原理 c

分頁是web應用程式非常重要的乙個技術。資料庫中的資料可能是成千上萬的,不可能吧這麼多的資料一次顯示在瀏覽器上面。一般根據每行資料在頁面上所佔的空間每頁顯示若干行,比如一般20行是乙個比較理想的顯示狀態。分頁方法主要有以下兩種思路 1 取出所有符合條件的資料,放到資料集或者記憶體中,然後逐頁瀏覽。例...