激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

怎么定義NULL

時(shí)間:2022-07-19 18:12:41 筆試題目 我要投稿
  • 相關(guān)推薦

怎么定義NULL

  怎么定義NULL

  作為一種風(fēng)格, 很多人不愿意在程序中到處出現未加修飾的0。因此定義了預處理宏NULL (在 和其它幾個(gè)頭文件中) 為空指針常數, 通常是0 或者((void *)0) 。希望區別整數0 和空指針0 的人可以在需要空指針的地方使用NULL。

  使用NULL 只是一種風(fēng)格習慣; 預處理器把所有的NULL 都還原回0, 而編譯還是依照上文的描述處理指針上下文的0。特別是, 在函數調用的參數里, NULL之前(正如在0 之前) 的類(lèi)型轉換還是需要。

  NULL 只能用作指針常數;

  拓展1:將一個(gè)數的從第5位開(kāi)始的7個(gè)數取出,其余位置0

  解:#include

  main()

  {

  int n;

  printf(“input n:”);

  scanf(“%d”,&n);

  n=n&(∽(∽0<<7))<<5;

  printf(“%d\n”,n);

  };

  拓展1:NULL指針

  NULL指針是一個(gè)無(wú)類(lèi)型指針,并且值為0。一個(gè)指針,擁有2個(gè)屬性--地址值和指針類(lèi)型。兩者的作用是:1,地址值標識變量的首地址(32位系統下指針的地址值占4字節);2,指針類(lèi)型告訴編譯器,應該怎樣進(jìn)行接下來(lái)的數據訪(fǎng)問(wèn)(int型數組和float型數組是不同的;數組訪(fǎng)問(wèn)與結構體訪(fǎng)問(wèn)也是不同的;等等)。

  NULL的出現是一種約定俗成,事實(shí)上它不是C語(yǔ)言中的關(guān)鍵字;把一個(gè)指針賦值為NULL,通常的說(shuō)法是“將指針懸空”。這樣,指針就無(wú)法再進(jìn)行任何數據訪(fǎng)問(wèn)了。

  編程工作中有一類(lèi)比較容易犯的錯誤--指針地址未進(jìn)行正確的更新賦值就加以使用,這往往會(huì )造成很?chē)乐氐暮蠊?對內存區進(jìn)行錯誤的涂抹)。所以一個(gè)良好的習慣是,當一個(gè)指針的工作稍事休息,先把它賦值為NULL,待到再度使用時(shí),重新對其賦值以及進(jìn)行指針類(lèi)型轉化。

  前面說(shuō)到“NULL指針無(wú)法再進(jìn)行任何數據訪(fǎng)問(wèn)”,其實(shí)是視編譯器功能而定的。0位置指向的是程序起始,對于不同的編譯器,NULL指針的操作結果是不同的:有些是不準讀寫(xiě),有些是只讀,甚至讀寫(xiě)都允許。編譯器是人定的。

  引用網(wǎng)友win_hate在話(huà)題“關(guān)于NULL的不嚴謹”中的話(huà)來(lái)說(shuō):“如果說(shuō)有誰(shuí)不嚴謹了,那必定是讀取0位置的程序員,而不是C。C的設計哲學(xué)之一是:‘程序員知道自己在干什么--沒(méi)有安全帶’”。

 

【怎么定義NULL】相關(guān)文章:

CAD怎么自定義快捷鍵05-16

采購的定義09-02

執業(yè)藥師定義06-02

債券的定義與特征12-19

秘書(shū)的基本定義09-09

惡意軟件的定義10-11

論文提綱的定義及范文05-08

定義判斷筆試題07-31

普通話(huà)定義06-20

演講定義與技巧03-11

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频