這兩天找工作,做面試題的時候,碰到這樣的題:指定了乙個位址,比如說0x0012ff7c這樣乙個位址,要求是給這個指定的位址賦乙個確定的值,比如說100,當時就是乙個鬱悶啊,在彙編裡這樣用過,在c中還真沒用過。今天在網上查了查,自己也在turbo c上執行了一下,正好做個總結,方法如下:
char * test;
test = (char *)0x0012ff7c;
*test = value;//自己賦值就好了
這裡需要注意的是第二行中的(char *)是一定需要的,而且要和上面的指標定義的型別相對應,比如:
int * test;
test = (int *)0x0012ff7c;
*test = value;//賦給定的值
當然給指定的記憶體賦值,有的時候可能會失敗的,因為有的記憶體是不允許寫入的,注意哦!
C語言 強行給記憶體位址賦值
最近看stm32 有這樣一段話不理解 define gpioa gpio typedef gpioa base 然後我就思考了下,不就是定義乙個巨集,然後宣告乙個結構體變數,進行賦值麼?然後我隨便定義了乙個位址,強制轉換成乙個結構體指標型別,如下 typedef struct student def...
C語言記憶體位址
任務清單 c語言在記憶體中一共分為5個區域 記憶體棧區 存放區域性變數名 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等,函式呼叫結束後釋放記憶體空間。通常是用於那些在編譯期間就能確定儲存大小的變數的儲存區,用於在函式作用域內建立,在離開作用域後自動銷毀的變數的儲存區。通常是區域性變數,函...
C語言記憶體位址基礎(ZZ)
從計算機記憶體的角度思考c語言中的一切東東,是挺有幫助的。我們可以把計算機記憶體想象成乙個位元組陣列,記憶體中每乙個位址表示 1 位元組。比方說我們的電腦有 4k 記憶體,那這個記憶體陣列將會有 4096 個元素。當我們談論乙個儲存位址的指標時,就當相於我們在談論乙個儲存著該記憶體陣列某個元素索引的...