位(bit) 位元 最小的儲存單位
位元組(byte) 習慣用b來表示 1byte=8bit
int a; int *p=&a; a=1 &a=0x23 int * 是一種位址型別 p=0x23 *p=1
當 乙個全域性變數放在標頭檔案中被多個.c檔案引用時,編譯不會有錯,但會導致「符號被多重定義",需要加上static使其變為內部鏈結,將其變為多個同名不同義的定義
union 中各成員占用的記憶體從同一位址開始,占用的大小可能是最大的變數型別長度 被稱為 "共同體" 成員中含有long 和double 長度為8,long和float 長度為4 。。。
malloc 和free一同使用,malloc分配空間,free釋放空間 dest=malloc(..) free(dest) //防止產生記憶體洩漏 dest=null //防止產生野指標
stack 棧 空間有限 由系統統一分配 在編譯期對變數和函式的分配記憶體都在棧上進行
heap 堆 malloc函式手動分配 位址大
int * const p 位址為常量 位址內容可變 int const *p 和 const int *p 相同,都是位址內容不可變,位址可變 區別在於const 修飾的是位址還是內容
int a[5]= &a+1 是位址上再加20,而a+1是加4 a是陣列的首位址是&a[0] 而&a是代表整個陣列長度
被volatile 修飾的變數表示會被意想不到的改變,所以每次使用這個變數的時候都會重新取值,而不是使用備份。通常是多個執行緒共用的變數 狀態暫存器
位元組陣列和字元之間互換
定義string變數為str,記憶體流變數為ms,位元陣列為bt 1.字串轉位元陣列 1 byte bt system.text.encoding.default.getbytes 字串 2 byte bt convert.frombase64string 字串 2.字串轉流 1 memorystr...
位元組陣列 base64, 流之間關係
1.字串轉換成位元組陣列 byte array encoding.utf8.getbytes 你好 2.位元組陣列轉換成base64字串 string base64 convert.tobase64string array 3.base64string轉換成位元組陣列 byte bitarray c...
資料型別位元組數
一 程式執行平台 不同的平台上對不同資料型別分配的位元組數是不同的。個人對平台的理解是cpu os compiler,是因為 1 64位機器也可以裝32位系統 x64裝xp 2 32位機器上可以有16 32位的編譯器 xp上有tc是16位的,其他常見的是32位的 3 即使是32位的編譯器也可以弄出6...