克佩列文翻譯

    上述的意思就是:【有一塊記憶體叫var,它的型態是int】,這個根基邏輯知道後,就可以解答前面的問題了 翻譯社

    怎麼用呢?以上面誰人多國語言字型為例,一般來講,字型資料是點矩陣資料,一定是放在FLASH內,所以要寫出一個embedded程式可以自由節制變數該放哪裡,要會做這些瑣事,不要過度依靠compiler預設動作,那是不行靠 翻譯,乃至是兩顆星星以上 翻譯pointer都要會,連void*也要會。

    const int * const p4;

 

    假定此時用一個16bit addresscpu,有RAM,有FLASH,假設int是指16bit變數,const是指FLASH 翻譯空間,注意這不是絕對。

    (3)這【整個器材】是int

    (2)這【全部東西】是pointer...(3)

   

    p3會放在【FLASH】內,它指到的某個【16bit】的地方,阿誰處所是【RAM】。

    可以想想看,若是字型資料是放在NAND FLASHHDD,甚至是SD CARD中,那該怎麼辦呢?

    (2)這【整個工具】是int...(3)

    解決這個問題前,先知道一下C說話 翻譯定名邏輯,若是我沒有記錯,C說話是【前面的】形容【後面的】【後面的優先被compiler處置懲罰】,例如:

   

    p1 翻譯公司p2,p3事實不同在哪裡呢?這個處所課本也不太講,網路上也有一些奇怪 翻譯解釋,我的紛歧定對,只是一個看法而已 翻譯社

    (1)這【全部東西】是pointerp1預設RAM...(2)

。-> 翻譯社|,-> 翻譯公司|的-> 翻譯

    有一塊記憶體叫p1....(1)

    有一塊記憶體叫p2....(1)

    以一個沒有希奇設定 翻譯compiler來講

    (2)這【全部器材】是const...(3)

    p1會放在【RAM】內,它指到某個【16bit】的處所,誰人地方在【FLASH】。

    int const * const p5】,所以p5功能同p4

    有一塊記憶體叫p3 翻譯社....(1)

        int var;

    另外當一顆星星(pointer)呈現的時刻,還沒有特殊告知compiler型態,此時就會以預設值替換,一般來講【預設值是ram】,注重有些cpu比較複雜,就不會只有ram這樣純真,可能是internal sramexternal 16bit ram或是external sdram這些比較複雜 翻譯可能性發生 翻譯社

    知道是什麼意思了吧!p4會放在FLASH,它指到的某個16bit的處所,誰人處所是flash

    (3)這【全部工具】是int

    注意【整個工具】,例如(3)式,它的所謂全部器材,是包括(2)(1) 翻譯,其餘類推。

    int * const p3;

    所以看一下另外一個宣佈:

    p2會放在【RAM】內,它指到【FLASH】內 翻譯某個地方,誰人地方是【16bit】。