當我們把hello world寫完之後,我們就可以邁入c的大門了,今天就來講講基本的一些資料類型,函數之内的 我們先來看一張傳播久遠的圖檔‘
整形包括短整型、整形和長整形。
short a=1;
一般占4個位元組(32位),最高位代表符号,0表示正數,1表示負數,取值範圍是-2147483648~2147483647,在記憶體中的存儲順序是地位在前、高位在後,例如0x12345678在記憶體中的存儲如下: 位址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b 資料: 78 56 34 12 定義:用int關鍵字,舉例如下: int a=6;
long a=10;
浮點型包括單精度型和雙精度型。
浮點型,又稱實型,也稱單精度。一般占4個位元組(32位), float a=4.5; 資料: 00 00 90 40
一般占8個位元組(64位) double a=4.5; 位址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b 0x0012ff7c 0x0012ff7d 0x0012ff7e 0x0012ff7f 資料: 00 00 00 00 00 00 12 40
在各種不同系統中,字元類型都占一個位元組(8位)。定義如下: char c=’a’; 也可以用字元對應的ascii碼指派,如下: char c=97; 其實我們可以用一串代碼來闡述上面的意思
是不是清晰明了了,然而我們也是從java走過來的,這些基本上可以一筆帶過了,我們接下來看下c中的函數
這裡我們溫習一下上面說到的輸出函數
%d - int
%ld – long int
%lld - long long
%hd – 短整型
%c - char
%f - float
%lf – double
%u – 無符号數
%x – 十六進制輸出 int 或者long int 或者short int
%o - 八進制輸出
%s – 字元串
int len;
scanf(“%d”,&len);
因為這個java中沒有,是以這裡還是要提一下的
輸入函數大家也不陌生,在java中也有,java的代碼一般都是這樣的
這樣就可以在控制台輸入東西了,但是c就簡單多了,上面也提到了一個函數 scanf(“%d”,&len);,我們來看看具體怎麼用
這樣我們來運作一下:
這樣就ok了
記憶體這一塊,c是可以直接去操作的,這就是他的優勢,同時也是他比較難的一塊了,我們要好好的磨一磨了,記憶體位址就是記憶體的位址,記憶體中是以資料都是通過位址拿到的,就像findviewbyid一樣,我們來看個例子
我們通過這行代碼來擷取i的值以及i的位址,列印的結果
我們為了更形象的說明,打個比方,比如電腦的系統有32和64位區分,32位的系統最大支援的是4g記憶體,這是因為32位的系統記憶體總線的長度為32,也就是可以配置設定給記憶體作為位址的數字是2的32次方個
修改記憶體,就像打遊戲一樣,你的血量為100,其實就是在記憶體中定義一個變量,比如int blood = 100,這個blood在記憶體中開辟一個空間,指派為100,然後再進行其他操作,我們寫個小例子
邏輯應該看得懂吧,我們定義一個i,然後擷取他的記憶體位址,再讓他進行倒計時一樣的操作,這就模拟了打遊戲,比如一分鐘通關之内的遊戲,我們修改i的記憶體,達到記憶體修改器的效果
然後我們就可以下載下傳cheat engine,這個是記憶體修改器,和八門神器的原理差不多
下載下傳位址自己去網上找吧,具體的用法,大家可百度
當我們把記憶體當機了之後
你就達到了修改遊戲的效果了,永遠不會到0,也就不會死了,這裡也隻是闡述一個原理哦!