最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言指針筆試題全面解析

 更新時間:2021年09月09日 14:54:12   作者:夢の瀾  
這篇文章主要介紹了C語言指針筆試題全面解析,介紹了其相關概念,然后分享了幾種用法,具有一定參考價值。需要的朋友可以了解下。

前言

通過8道指針筆試題的解析,可以充分的復習到指針的相關知識,并且題目中會結合許多之前的相關知識,希望通過本篇文章,對大家所學的知識進行一個復習。

提示:以下是本篇文章正文內容,下面案例可供參考

一、指針筆試題 

1.題目如圖:

 

逐條語句分析:

①.定義了一個大小為5的整型數(shù)組,并進行了初始化

②.定義了一個整型指針變量ptr用來存放地址,這里的存放地址是(&a+1)的地址,由于是&a,所以表示的是整個數(shù)組a,所以&a+1跳過的是整個數(shù)組,這里的地址是a數(shù)組后面的一塊隨機變量地址。因為指針指向的是整個數(shù)組,所以它的類型是int(*)[5](數(shù)組指針),所以我們在它的前面進行強制類型轉換,把它轉換為(int*)類型,然后再存放到指針變量ptr內部。

③.打印出來對應的*(a+1)和*(ptr-1)的數(shù)值

圖解:

 

 運行結果:

  

2.題目如圖:

 

逐條語句分析:

①.定義一個結構體變量,供我們一會使用

②.p是一個地址,沒有對它進行任何的改變,所以就是用16進制去進行加減操作即可,0x1就是十六進制的1,所以可以理解為p+1,打印出來對應的十六進制的地址,因為結構體的大小為20個字節(jié),所以+1就是跳過整個結構體,就是加上整個結構體的大小,即對應的p的地址+20得到新的地址打印出來,這里加上的20是十進制我們需要把它轉換為十六進制的數(shù),即對應p的地址加上0x00000014即可

③.p在這里進行了一步無符號長整型的強制類型轉換,然后再加上0x1(即十進制的1),我們想既然我們把p類型轉換為了一個整型,所以+1就是單純的+1,我們舉一個簡單的例子,10和1都是整型數(shù)據(jù),10在內存的存儲是0x0000000A,1在內存的存儲是0x00000001,10+1 = 11 ,11對應的內存存儲是0x0000000B,所以我們知道了兩個整型相加,對應的地址就是+1

④.p在這里進行了一步無符號整型指針的強制類型轉換,然后再加上0x1(即十進制的1),我們想既然我們把p類型轉換為一個整型指針,所以加+1,跳過的是一個整型指針變量,一個整型指針變量的大小為4,所以+1對應的地址就是+4

 運行結果:

 3.題目如圖:

 

逐條語句分析:

①.定義一個大小為4的整型數(shù)組,并且進行了初始化

②.定義一個整型指針變量ptr1存放的是變量的地址,這個地址與第一題的方法一致在這里不再重復,向上看第一題即可

③.這里的a單獨放在括號內,代表的是數(shù)組的首元素地址,類型是(int*),在a的前面有一步強制類型轉換把int*類型轉換為了整型(int類型)加+1后,我們由上一題可以知道整型的數(shù)值+1地址也是+1個字節(jié),然后再一步強制類型轉換把它轉換為int*的類型,把地址存儲到指針變量ptr2中

④.注意這里的是%x是以十六進制的方法打印出來ptr[-1]和*ptr2

圖解:

運行結果:

4.題目如圖:  

 

 逐條語句分析:

①.定義了一個3行2列的二維數(shù)組,并且進行了初始化,我們看到這里面的元素,都是用圓括號括起來的,所以這里的是逗號表達式,我們知道逗號表達式的數(shù)值是取最后一個元素,所以就相當于我們的數(shù)組元素只有{1,3,5}其他的的位置沒有初始化數(shù)值就都是0,所以就相當于我們的數(shù)組就是這樣的int a[3][2] = {1,3,5,0,0,0}

②.定義一個指針變量p

③.指針變量p用來存放a[0]的地址,我們注意到這里的a[0],既沒有&a[0]也沒有sizeof(a[0]),所以這里的a[0]就是數(shù)組的首元素地址就是a[0][0]的地址,即就是數(shù)字1的地址,所以指針變量p存放的就是a[0][0]元素的地址

④.打印出來p[0]對應的元素數(shù)值,我們知道p[0] = *(p+0)所以就是對應a[0][0]的數(shù)值

圖解:

運行結果:

 5.題目如圖:

逐條語句分析:

①.定義一個二維數(shù)組。

②.定義一個數(shù)組指針。

③.將二維數(shù)組首地址賦值給數(shù)組指針,我們看到這里的類型是int(*)[4],而二維數(shù)組明顯是有5列的所以明顯這個數(shù)組指針不能存儲整個二維數(shù)組,只能存儲一部分。

④.打印出來地址的差值對應的地址,以及對應的差值數(shù)值。

圖解:

  

運行結果:

6.題目如圖:

逐條語句分析:

①.定義一個二維數(shù)組并進行初始化

②.定義一個指針變量ptr1存放的是變量的地址,我們看到這里的數(shù)組名是被&的,我們知道&數(shù)組名是表示的整個數(shù)組,所以&aa+1跳過的是整個數(shù)組,因為這里指向的是整個數(shù)組對應的類型就是int (*)[5],所以我們需要進行一步強制類型轉換,把它轉換為(int*)類型存儲到指針類型變量ptr2中

③.這里的aa沒有&符號,也沒有在sizeof內部,所以這里的aa是首元素地址,因為是一個二維數(shù)組,所以首元素地址是第一行的地址,+1后跳到了第二行

④.打印出來*(ptr1-1)和*(ptr2-1)的數(shù)值

圖解:

運行結果:


7.題目如圖:

逐條語句分析:

①.定義一個字符指針數(shù)組,并進行了初始化

②.定義一個二級指針存放的是字符指針數(shù)組元素的首地址

③.二級指針++跳個一個元素的地址,指向的是下一個元素的地址

④.打印出來*pa對應的元素

圖解:

 運行結果:

 8.題目如圖:

 逐條語句分析:

①.定義一個字符指針數(shù)組,并初始化

②.定義一個字符指針數(shù)組(二級指針),并初始化

③.定義一個三級指針指向cp字符指針數(shù)組

④~⑦按要求去打印數(shù)值

圖解:

運行結果:

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

相關文章

  • PyQt5實現(xiàn)滑動開關的示例詳解

    PyQt5實現(xiàn)滑動開關的示例詳解

    這篇文章主要為大家詳細介紹了如何使用PyQt5實現(xiàn)滑動開關的效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-12-12
  • C++深入講解類與封裝的概念與使用

    C++深入講解類與封裝的概念與使用

    我們都知道C++有三大特性:封裝、繼承、多態(tài),現(xiàn)在我們來總結一下封裝的相關知識與類的概念,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-04-04
  • C++類繼承之子類調用父類的構造函數(shù)的實例詳解

    C++類繼承之子類調用父類的構造函數(shù)的實例詳解

    這篇文章主要介紹了C++類繼承之子類調用父類的構造函數(shù)的實例詳解的相關資料,希望通過本文大家能夠掌握C++類繼承的相關知識,需要的朋友可以參考下
    2017-09-09
  • C/C++中不定參數(shù)的使用詳解

    C/C++中不定參數(shù)的使用詳解

    這篇文章主要為大家詳細介紹了C/C++中不定參數(shù)的使用的相關知識,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • 深入c語言continue和break的區(qū)別詳解

    深入c語言continue和break的區(qū)別詳解

    本篇文章是對c語言中continue和break的區(qū)別進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言實現(xiàn)常用字符串庫函數(shù)(推薦)

    C語言實現(xiàn)常用字符串庫函數(shù)(推薦)

    這篇文章主要介紹了C語言實現(xiàn)常用字符串庫函數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • 詳解c++良好的編程習慣與編程要點

    詳解c++良好的編程習慣與編程要點

    c++語言的靈活是建立在對編程者個人的編程素質的嚴格要求基礎上的,好的C++編程習慣能避免很多問題。沒有好的編程習慣,極有可能編寫一行代碼,編譯器能報十幾個錯誤,而且就算編譯通過了,將來在運行過程中也會有很多莫名奇妙的問題
    2021-06-06
  • C/C++ 中const關鍵字的用法小結

    C/C++ 中const關鍵字的用法小結

    C++中的const關鍵字的用法非常靈活,而使用const將大大改善程序的健壯性。這篇文章主要介紹了C/C++ 中const關鍵字的用法,需要的朋友可以參考下
    2020-02-02
  • 詳解C++設計模式編程中責任鏈模式的應用

    詳解C++設計模式編程中責任鏈模式的應用

    這篇文章主要介紹了C++設計模式編程中責任鏈模式的應用,責任鏈模式使多個對象都有機會處理請求,從而避免請求的發(fā)送者和接收者之間的耦合關系,需要的朋友可以參考下
    2016-03-03
  • 詳解C++基礎——類繼承中方法重載

    詳解C++基礎——類繼承中方法重載

    這篇文章主要介紹了C++基礎——類繼承中方法重載,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

五家渠市| 延长县| 进贤县| 永泰县| 沁源县| 苍南县| 行唐县| 崇礼县| 逊克县| 文成县| 萨迦县| 双桥区| 洛南县| 洛川县| 沙雅县| 淮北市| 宽城| 临安市| 五大连池市| 嵩明县| 安乡县| 五华县| 遂平县| 会昌县| 南昌市| 宁远县| 安化县| 宣汉县| 慈利县| 灵台县| 垫江县| 陈巴尔虎旗| 顺昌县| 清水县| 泸水县| 栾川县| 中牟县| 云林县| 馆陶县| 博湖县| 长顺县|