日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言一个小小的问题引起的对指针的探究。。。

發布時間:2023/12/1 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言一个小小的问题引起的对指针的探究。。。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C語言一個小小的問題引起的對指針的探究。。。

廢話不多說。下面是這個大家認識的一個及其簡單的程序:

1 #include <stdio.h> 2 void A(int a[]) 3 { 4 printf("%d/t", sizeof(a)); 5 } 6 int main() 7 { 8 int a[512]; 9 int *p; 10 printf("%d/t", sizeof(a)); 11 A(a); 12 printf("%d/n", sizeof(p)); 13 return 0; 14 }?

這個程序大家先看一遍再拿到編譯器里運行調試,發現什么了沒?輸出的是512?????? 4(2) ?? 4(2)。 我今天下午查了些資料,才知道了,原來是自己基礎沒掌握好,現在我就來解釋下:

???????? 第一個輸出512,是因為它是一個數組,所以輸出了整個數組所站的總共的內存字長大小。但為什么后面輸出的是4呢???原來啊,編譯器在對數組進行地址參數傳遞的時候,復制了內存地址,結果就使得數組直接變成指針了。。就是這個原因~但為什么輸出的是4(2)呢???呵呵,這個就是指針的構成了,其實所有的指針都只是一個無符號的整形數。。我的編譯環境是32位的linux。處理器尋址能力為2^32-1,相當于就是站了4個字節空間的大小。但在DOS(TC)環境下編譯,由于dos是16位的,所以就只輸出的2咯~~

?

posted on 2012-06-02 08:59 依舊濤 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/t-bruce-yu/archive/2012/06/02/2531544.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的C语言一个小小的问题引起的对指针的探究。。。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。