麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > C語言知識點(指針篇)

C語言知識點(指針篇)

來源:千鋒教育
發布人:qyf
時間: 2022-10-26 15:13:30 1666768410

C語言知識點(指針篇)

  指針

  1、哪些情況會出現野指針

  指針變量未初始化、指針釋放后未為置空、指針操作超越變量作用域

  2、描述內存分區

  程序在運行前:分為代碼區、BSS段(未初始化數據區)、data段(初始化數據區)

  程序在運行后:堆區、棧區、全局區(靜態區)、文字常量區、代碼區

  3、描述普通局部變量、普通全局變量、靜態局部變量、靜態全局變量的區別

  普通局部變量:

  存在棧區、不初始化內容隨機、只在定義所在的復合語句中有效、符合語句結束變量空間釋放

  普通全局變量

  存在全局區、不初始化內容為0、進程結束空間才被釋放,能被當前源文件或其他源文件使用,只是其他源文件使用的時候,記得使用extern修飾

  靜態局部變量:

  存在全局區、不初始化內容為0、整個進程結束空間才被釋放,只能在定義所在的復合語句中有效

  靜態全局變量

  存在全局區、不初始化內容為0、整個進程結束空間才被釋放,只能被當前源文件使用

  4、描述指針數組的概念

  指針數組本質是數組,只是數組的每個元素是一個指針(地址)

  5、描述32位或64位平臺下指針的大小

  32位平臺:任意類型的指針大小為4字節

  64位平臺:任意類型的指針大小為8字節

  6、描述指針與指針變量的區別

  指針:內存中每一個字節都會分配一個32位或64位的編號,這個編號就是地址, 而指針就是內存單元的編號。

  指針變量:本質是變量 只是該變量存放的是空間的地址編號

  7、指針和地址的區別

  指針和地址最大的區別是指針有類型,而地址沒有類型,地址僅僅是地址編號。指針是由地址和類型組成,指針不僅記錄了地址編號還記錄了該地址空間的類型

  8、描述一下int *p含義

  p為指針變量,p自身類型為int *,指向的類型為int *,p可以保存的是int變量的地址編號

  9、描述int *p[5]的含義

  p是指針數組的數組名,該數組5個元素,每個元素為int *類型。p是存放整形變量地址的數組。

  10、描述int (*p)[10]的含義

  p是數組指針變量,p的本質是指針變量 保存的是數組的首地址,該數組必須有10個元素且每個元素的類型為int類型

  11、描述int *p[10]的含義

  p是指針數組,p的本質是數組 只是數組的每個元素為int *類型

  12、描述int (*p)(int,int)的含義

  p是函數指針變量, p的本質是指針變量 ,它保存的是函數的入口地址,只是該函數必須是int類型的返回值類型,且有兩個int類型的形參。

  13、描述int (*p[5])(int ,int)的含義

  p是函數指針數組。p的本質是數組,數組的每個元素為函數指針,該函數必須是int返回值類型和兩個整型的形參

  14、描述數組元素指針變量的含義

  數組元素指針變量是指保存數組元素的地址的指針變量,該變量+1跳過一個元素

  15、兩個指向同一數組的元素指針變量的關系

  指向同一數組的元素指針變量可以判斷大小、賦值但是相加是無意義的。

  < >判斷兩指針變量的位置關系

  ==判斷兩指針變量是否指向同一處

  =讓兩指針變量 指向同一處

  -計算兩指針變量間相差的元素的個數

  +兩指針變量相加是無意義

  16、指針作為函數的參數的意義

  指針作為函數的參數,函數內部可以修改外部指針所對應空間的內容

  指針作為函數的參數,如果傳遞的是自定義類型數據的地址,可以節約空間

  指針作為函數的參數,可以將外部申請的空間傳遞到函數內部使用

  17、指針作為函數的返回值類型的意義

  指針作為函數的返回值類型 可以將函數內部的空間返回到函數外部使用

  18、描述函數指針變量

  函數指針變量本質是指針變量,只是該變量保存的是函數的入口地址,我們可以通過函數指針變量簡介的調用該指針變量所保存的函數

  19、函數指針變量作為函數參數的意義

  如果函數指針變量作為函數的參數,那么該函數可以同函數指針參數間接調用外部傳遞過來的函數。這樣可以讓函數的功能多樣化,實現函數的功能復用

  20、Int *和int **的關系

  Int *它的類型是int *類型 所指向的的類型為int類型

  Int **它的類型是int **類型 所指向的類型為int *類型

  Int *定義的變量的地址可以用int **定義的變量來保存

  21、指針中用到的*和&各自的作用

  在定義指針變量時,如:int *p;其中*的作用是修飾p為int *類型的指針變量

  在使用的時候,如*p;表示取p所保存的地址編號對應空間的內容

  在使用的時候,如&num;表示取變量num的地址變量,如果num的類型為int,那么&num的類型就為int *

  在使用的時候,*和&如果同時出現,從左往右可以將*和&相互抵消

  22、談談指針變量的類型

  指針變量的類型分為:自身類型和指向類型

  自身類型描述的是指針變量本身的類型,而指向的類型描述的是指針變量能夠保存啥類型變量的地址

  自身類型一般用判斷指針變量賦值、傳參時的指針類型是否匹配

  指向類型一般用于決定指針變量能夠訪問所指向空間的長度,以及指針變量+1跳過的指針寬度

  比如:int *p;p自身的類型為int *類型,而p指向的類型為int類型。*p能取空間的指針數為4字節,p+1跳過4字節

  23、指針變量最好初始化為啥值

  初始化為NULL

  24、操作指針變量前,做好對指針變量做怎樣的判斷

  操作指針變量前,最好判斷是否指向了NULL

  25、指針作為函數的返回值時需要注意啥

  指針作為函數的返回值,不要返回函數內部中局部變量的地址。因為函數中局部變量在函數結束后會被立即釋放,而外部通過函數返回值得到的地址也指向了以及回收的空間地址(非法地址),如果繼續操作改地址將會出現段錯誤或其他不可確定的錯誤

  26、談談const int *p和int *const p的區別

  Const int *p:const修飾的是*,p是可讀可寫,但是用戶不能通過*p修改外部空間的內容(只能讀操作)

  Int * const p;const修飾的是p,p一旦初始化了指向,就不能修改p的指向,但是用戶可以使用*p修改外部空間的值

  27、數組指針的定義形式

  數組指針的定義形式為:類型 (*p)[]

  28、數組指針的作用

  數組指針可以保存數組的首地址,數組指針+1將跳過整個數組

  一維數組指針可以和二維數組配合使用,可以使用一維數組指針保存二維數組的行地址,等同二維數組名一樣的操作二維數組的元素

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 草莓视频污污在线观看| 麻豆视传媒一区二区三区| 日本一区中文字幕日本一二三区视频| 国产精品久久久久久久| 伊人免费在线观看高清版| 884aa四虎在线| 中文字幕久久久久| 青草国产在线| 久久影院午夜伦手机不四虎卡| 国产一级一国产一级毛片| 午夜视频在线观看国产| 伊人丁香狠狠色综合久久| 国产特级毛片aaaaaa高清| 黑人巨茎大战欧美白妇| 亚洲欧美日韩精品久久| 精品国产不卡一区二区三区| 国产高清一区二区三区视频| 国产欧美va欧美va香蕉在| 99在线精品免费视频| 色丁香在线| 娇妻之欲海泛舟白丽交换| 九色视频网址| 日韩a级一片| 交换朋友夫妇2| 久久免费视频一区| 国产激情久久久久影院小草| 国产精品久久福利网站| 老鸦窝在线视频2021| 毛片免费试看| 一本一本久久a久久综合精品蜜桃| 国产精品电影久久久久电影网| 一级大黄色片| 国产大学生一级毛片绿象| 日本欧美视频在线观看| 国产免费拔擦拔擦8x| 日韩在线视频一区二区三区| 羞羞漫画在线成人漫画阅读免费| 日本伦理电影网伦理在线电影| 色偷偷亚洲男人天堂| 妖精动漫在线观看| 毛片大全免费|