日韩在线免费播放-日韩在线免费av-日韩在线免费-日韩在线毛片-国产高清不卡视频-国产高清不卡

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > C語言:數據指針

C語言:數據指針 時間:2019-02-13      來源:華清遠見

今天我們來聊一聊數組指針,對于C語言中常見數據類型,數組和指針可能學過C語言的都不陌生,但兩個合起來又是怎么一回事呢?首先要理解數組指針,我們需要先從數組和指針說起。

數組,什么是數組?即是將相同數據類型的元素連續緊密的存儲,稱這種數據類型叫數組。數組名即代表該數據類型本身同時他本質上卻又是一個地址,即數據元素的首地址。通常訪問數據一般使用”數組名[數組下標]”的方式訪問數組中的元素,當然也可以使用部分的指針方式去操作。

那什么又是指針呢?指針即是地址,這種說法其實不太準確。通常我們所說的指針是指指針變量,何為指針變量?指針變量是指一個存儲地址的變量,即是說一個變量中存放了一個地址數據,這個地址是指向一個某個數據類型的。通常一個未賦初始值的指針變量叫作野指針,這種指針在程序中是很危險的,因該指針除賦值以外的任何指針操作都將是危險的,會發生意想不到的問題甚至錯誤。通常對于一個還不便于建立指向關系的指針,通常我們會把它的值設置為NULL,即地址0,這個指針稱作空指針。

那什么是數組指針呢?通常我們中文的語法結構,事物的本質或重點一般會放在后邊,即數組指針,本質上是一個指針,什么指針呢?一個指向數組的指針。那么前面我們說到數組名本身就是一個地址,而一個指向地址的指針,則這個指針至少是一個二級指針,那如何定義和使用這個指針呢?例如有一個整型數組int a[5];那么定義數組指針并指向它:int (*p)[5] = &a;則稱p為一個指向有5個元素的整型數組指針。通常數組指針跟二維數組在一起出現。例如,當我們想要將一個二維數組作為形參傳入函數,那么這個形參該如何定義?通常這種形參是一個指針,一個可以指向二維數組中每一個一維數組的指針,即數組指針。例如有整型二維數組 int b[2][3];那么形參的數組指針應該這樣定義 int (*q)[3];則此時 q=b;數組指針和二維數組可以直接賦值即建立指向關系。其實二維數組名就是一個地址,一個指向一維數組的地址,即它的本質就是一個數組指針。通常我們在進行動態內存分配時也時常會用到數組指針。比如,我使用malloc函數開辟了一段內存空間,我想以二維數組的方式操作這片內存,這時就需要一個數組指針去存放這個地址。

那數組指針有哪些操作呢?因為數組指針本質上是一個指針,所以所有的指針操作都可以對它進行。當對數組指針進行++或--操作時,地址的移動是一個指向的單位,即一個數組的長度。因此數組指針的定義必須給定指針指向的數組的元素個數。同時,也可以將指針數組當做一個二維數組來使用,但不管如何使用都必須要注意不能內存越界。

上一篇:Linux重啟命令介紹

下一篇:Java:Map遍歷

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 装饰色彩| 邓佳佳| 电影英雄| 富贵黄金屋国语| 她回来了| 性的秘密免费| 詹姆斯怀特| 俗世乐土| 搜狐手机网首页新闻| hd经典复古性mature| 柳堡的故事演员表| 画魂 电影| 姐妹五| 学校要的建档立卡证明图片| 5g影院| 香港卫视中文台| 案例分析100例| 米娅华希科沃斯卡| xiuren秀人网免费| 浙江卫视节目表(全部)| 二年级上册第一单元数学试卷可打印| 各各他的路赞美诗歌| 狂魔电影| 女孩们在线观看完整电影| 密会韩剧| 陕西单招真题电子版| 美女亲热| 宋佳风平浪静| 唐朝诡事录在线观看全集免费观看| 易烊千玺是哪里人| 印章抠图| 孤战迷城电视剧剧情介绍| 职业探索怎么写| 芭蕉扇图片| 鬼迷心窍1994| 河中石兽是几年级的课文| 七寸照片| 安泽豪个人资料| 啊好舒服快点| 醉翁亭记理解性默写及答案| 日别视频|