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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

指针增量和数组的关系,指针偏移的补充,(重要面试),gdp调试,将数组中的n个元素逆序存放

發布時間:2025/4/5 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 指针增量和数组的关系,指针偏移的补充,(重要面试),gdp调试,将数组中的n个元素逆序存放 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、指針增量和數組的關系

//加1? 代表了地址偏移了一個類型的字節數(整形數偏移四個字節,char形數偏移了一個字節)

?

再來下標法:

2、指針偏移的補充

?

也可以換一種寫法(第12行)

但是呢同樣的代碼再來一次就會造成數組的越界

如何改正呢?重新讓指針回到數組的首元素

?

3、見怪不怪:指針當成數組名,下標法訪問

完全可以通過下標法,把3訪問出來

//可以把它當成一個數組名來用

?

可以通過下標法,把數組訪問出來

?

4、見怪不怪:數組名拿來加

?

也可以用arr

?

?

5、數組名和指針的區別

a++可行否?

?

如果把22行做一下改變

//第五行是指針常量,第六行是指針變量

(第22行指針常量,編譯不過)

指針常量不允許++;

指針變量可以++;不過+完之后要往回走

?

?這就不行了

因為涉及到:常量指針? 和指針變量

p 是一個指針變量,變量什么意思?它是一個保存地址的變量,它保存的地址是可改的

arr 是一個常變量,1,2,3在內存空間,地址定了就是定了,數組名代表那段空間的開頭位置,不能把數組名拿來加,加到后面的位置

sizeof可行否?

//根據9,11,12行知道,只要是個指針就是八個字節

?

6、函數封裝數組初始化,遍歷

首先先試試gdb

?錯誤在第八行應該改成scanf("%d",&arr[i])

不過呢? 我們可以用gdp 調試

調試方式:在編譯的時候加上一個-g選項,加上-g選項可以讓編譯出來的程序可調式

?gdb就是用來調試程序的

?然后按一下r? 進入程序的帶運行狀態

就可以知道錯在哪了。

(Segmentation fault,經常被縮寫成segfault,又譯為儲存器段錯誤,也稱訪問權限沖突)

退出的話 ,按一下q

然后再按一下y

?//實際參數,數組的首地址 :名,首個元素的地址

?

為了好看可以再改一下

?(注意第8行和第17行的區別)

可是這里為什么不需要像之前一樣初始化呢?(下面第17行)

遍歷一個數組,再后面接著遍歷這個數組的時候,需要把p 指向數組的首元素

因為他是兩個函數,內存空間不同,雖然都叫parr

每次函數調用,都在對形參賦初值

運行結果

也可以改成

7、將數組中的n個元素逆序存放

?

然后再做些改動,修改的更指針一點

總結

以上是生活随笔為你收集整理的指针增量和数组的关系,指针偏移的补充,(重要面试),gdp调试,将数组中的n个元素逆序存放的全部內容,希望文章能夠幫你解決所遇到的問題。

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