久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: C語言指針的一點小疑問 [打印本頁]

作者: 254zhang    時間: 2019-12-30 11:17
標題: C語言指針的一點小疑問
   
1.  
     int b=5;
     int  *a = &b;  

2.
     int b = 5;
    int*    a =&b;

3.

   int b = 5  ,*a;
   a = &b;

這三種寫法有區別嗎

是不是都是把b的地址賦給指針變量a

如果一樣的話 哪種寫法比較好

作者: 254zhang    時間: 2019-12-30 11:59
還有一個問題  
int *a = &b;   (這是把b的地址賦給指針變量a)

和  *a = &b;  (這是把b的地址賦給指針變量a的存儲的數據)  

為什么含義不一樣呢?  
作者: zsm15431078    時間: 2019-12-30 15:25
發表下個人看法,針對第一個問題:
1.以上三個寫法是一樣的。個人比較傾向于第三種寫法。先定義變量,然后賦值。
2.   int *a = &b;是定義一個指針變量a,同時初始化。
*a = &b是一個賦值語句,所以含義不同。
作者: 艽野塵夢    時間: 2019-12-30 15:38
三者在運行編譯時的效果是一致的,含義也大致相同
作者: 艽野塵夢    時間: 2019-12-30 15:41
三者運行編譯的效果一樣,1和2只是空格格式不同,3是先定義再賦值,最終效果是一樣的,個人喜歡第一種,定義和賦值在一起,少打一行,而且可以防止后面忘記賦值
作者: liuyongjun000a    時間: 2019-12-30 18:09
實際上你自己全懂了。這個書寫格式,只有軟件本身認可,試了就知了。沒有文章說明中間空格就不是一個定義詞來的。如*  A,或:=    some;前者就是:*A,空了也是*A,等于后面的空好幾個也是一個some.
作者: 啦啦啦123321    時間: 2019-12-30 21:47
一個意思吧,第一種更好一點
作者: jizhongbiao    時間: 2019-12-31 16:15
結果一樣,第一種和第二種完全一樣。個人決定第三種寫法比較好。
作者: 1332112623    時間: 2020-1-1 18:05
都一樣,我覺得第一種好點
作者: w1179benp    時間: 2020-1-3 08:38
這個看個人習慣,以及代碼作用——是否有他人需要,選個通俗易懂的就OK
作者: jaken_tony    時間: 2020-1-3 09:51
三個寫法都一樣,一般做法是第一種,特別是在一行中定義多個變量時,簡單明了,能有效區分哪些是數據變量,哪些是指針變量。至于說補充的問題,如果是單獨一行來寫,前面沒有變量類型限定符 則*a將會被編譯器認為是一個整體,表示a指針指向的int變量,也是常規的指針用法,但是你這樣寫的話,如果a指針沒有初始化,會導致程序出現無法預測的問題,即野指針問題。
作者: 御羽    時間: 2020-1-3 17:21
結果完全一樣。個人決定第三種寫法比較好。先定義變量,然后賦值。清晰明了
作者: lllxy    時間: 2020-1-3 18:51
三種寫法都一樣,都是把b的地址賦給指針變量a,一般是寫作第一種
作者: 還有誰?    時間: 2020-1-3 19:29
書寫規范的代碼讓人看了賞心悅目,代碼的可讀性強。書寫規范的代碼無論對自己對別人都有好處。
作者: Abc_zh    時間: 2020-1-3 20:24
除了第三種,我不是很贊同這樣的寫法以外,第1 、2 種寫法都可以。這是因為第三種會存在野指針的問題,雖然在你的編譯器當中會編譯通過,但是可能會導致出現不可預測的錯誤,畢竟你在定義*a的時候并沒有初始化給它,但是在內存中會劃分了某個區域給它,而這個區域的話,有可能存放著其他的數據,可能會導致一系列不可預測的錯誤發生;蛘吣阍诙x*a時直接賦值為空,即 int * a = NULL;然后再進行下一步操作,如:a = &b;
作者: ddddddd1wu    時間: 2020-1-3 22:06
則三種寫法是一樣的,但是至于哪種比較好,各有各的道理。個人建議*號跟隨變量,比如(int *a)并且同時初始化,以免忘記,造成懸空指針。
作者: 沒耐心    時間: 2020-1-4 10:42
254zhang 發表于 2019-12-30 11:59
還有一個問題  
int *a = &b;   (這是把b的地址賦給指針變量a)

首先,3中實現的是一樣的,但是第三種不太嚴謹,在定義的同時沒有初始化,會出現野指針。他們都是實現了把b的地址放入a中,也就是指針a指向b的地址。第二個問題,第一個是定義一個指針同時初始化,第二個是把b的地址的數值放入a指向的空間中,不是b的值。
作者: 瑜喬    時間: 2020-1-4 12:17
一樣的,看個人習慣,以及行業習慣
作者: 流星2019    時間: 2020-1-4 15:47
指針就是指向地址的意思,在指針運算的過程中是在對地址進行操作,你明白這個就清楚了
作者: lsc124    時間: 2020-1-4 16:27
三種寫法沒有實際上的區別,但是我個人比較喜歡第一種寫法,很多c語言的書上也是第一種寫法




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 精品国产青草久久久久96 | www久久av| 在线一区 | 天堂在线一区 | 国产精品久久久久久妇女6080 | 日韩欧美亚洲 | 91高清免费 | 暖暖成人免费视频 | 亚洲欧美日韩国产综合 | 天天操夜夜操 | 凹凸日日摸日日碰夜夜 | 91夜夜夜| 日韩视频在线播放 | 综合久久久 | 日韩一区二区三区在线观看 | 成人在线免费视频 | 亚洲精品一区中文字幕乱码 | 日韩在线第一 | 欧美一区2区三区3区公司 | 久久精品色欧美aⅴ一区二区 | 欧美天堂| 一级毛片中国 | 国产精品高潮呻吟久久av黑人 | 精品一区二区av | 免费的日批视频 | 一区二区三区精品在线 | 久久久久久蜜桃一区二区 | 亚洲欧美日韩精品久久亚洲区 | 国产黄色在线观看 | 一区二区三区四区av | 欧美一级片a | 久久精品欧美一区二区三区麻豆 | 99视频在线免费观看 | 婷婷成人在线 | 全部免费毛片在线播放网站 | 夜夜骑综合| 91秦先生艺校小琴 | 综合久久亚洲 | 天堂视频中文在线 | 日本特黄a级高清免费大片 国产精品久久性 | 久久国产日本 |