亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

怎么定義NULL

時間:2022-07-19 18:12:41 筆試題目 我要投稿
  • 相關推薦

怎么定義NULL

  怎么定義NULL

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

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

  NULL 只能用作指針常數;

  拓展1:將一個數的從第5位開始的7個數取出,其余位置0

  解:#include

  main()

  {

  int n;

  printf(“input n:”);

  scanf(“%d”,&n);

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

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

  };

  拓展1:NULL指針

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

  NULL的出現是一種約定俗成,事實上它不是C語言中的關鍵字;把一個指針賦值為NULL,通常的說法是“將指針懸空”。這樣,指針就無法再進行任何數據訪問了。

  編程工作中有一類比較容易犯的錯誤--指針地址未進行正確的更新賦值就加以使用,這往往會造成很嚴重的后果(對內存區進行錯誤的涂抹)。所以一個良好的習慣是,當一個指針的工作稍事休息,先把它賦值為NULL,待到再度使用時,重新對其賦值以及進行指針類型轉化。

  前面說到“NULL指針無法再進行任何數據訪問”,其實是視編譯器功能而定的。0位置指向的是程序起始,對于不同的編譯器,NULL指針的操作結果是不同的:有些是不準讀寫,有些是只讀,甚至讀寫都允許。編譯器是人定的。

  引用網友win_hate在話題“關于NULL的不嚴謹”中的話來說:“如果說有誰不嚴謹了,那必定是讀取0位置的程序員,而不是C。C的設計哲學之一是:‘程序員知道自己在干什么--沒有安全帶’”。

 

【怎么定義NULL】相關文章:

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

采購的定義09-02

執業藥師定義06-02

債券的定義與特征12-19

秘書的基本定義09-09

惡意軟件的定義10-11

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

定義判斷筆試題07-31

普通話定義06-20

演講定義與技巧03-11

主站蜘蛛池模板: аⅴ天堂中文在线网| 阿城市| 人妻少妇精品一区二区三区| 日本丰滿岳乱DVD| 邻居少妇张开腿让我爽了在线观看| 久久福利网| 久热中文字幕在线| 99re6热在线精品视频播放| 久久亚洲私人国产精品va| 沈丘县| 最新精品国偷自产在线下载| 欧美激情一区二区三区高清视频| 中文字幕一本性无码| 国内精自视频品线一二区| 国产开嫩苞实拍在线播放视频 | 亚洲区精品区日韩区综合区| 99久视频只有精品2019| 伊人无码一区二区三区| 石泉县| 99久久国产综合精品女图图等你| 亚洲国产在一区二区三区| 沭阳县| 青草青草久热精品视频在线播放| 中文字幕一精品亚洲无线一区| 九九国产精品视频| 一本久道综合色婷婷五月| 97久久人人超碰超碰窝窝| 久久国产亚洲偷自| 国产精品视频白浆免费视频| 国产精品无码无片在线观看| 欧美午夜一区| 国产精品疯狂输出jk草莓视频| 亚洲国产美国国产综合一区| 亚洲成a人片77777在线播放| 国产做爰xxxⅹ久久久| 欧美做爰一区二区三区| 蜜臀色欲av在线播放国产日韩| 无码国产精品一区二区免费3p| 简阳市| 高级会所人妻互换94部分| 亚洲日本欧美日韩高观看|