C語(yǔ)言零基礎(chǔ)入門(7)指針
一、指針基礎(chǔ)概念1. 地址與指針內(nèi)存以字節(jié)為最小單位每個(gè)字節(jié)擁有唯一編號(hào)這個(gè)編號(hào)就是內(nèi)存地址。指針 內(nèi)存地址地址就是指針指針指向一塊內(nèi)存空間。指針變量專門用來(lái)存儲(chǔ)內(nèi)存地址的變量自身會(huì)占用內(nèi)存空間。2. 指針變量定義語(yǔ)法基類型 *變量名;基類型決定指針指向空間存儲(chǔ)的數(shù)據(jù)類型決定解引用時(shí)讀取多少字節(jié)*類型標(biāo)記代表該變量是指針int *pint; // 指向int類型的指針 char *pch; // 指向char類型的指針 float *pf; // 指向float類型的指針 int *pi, *pj; // 同時(shí)定義兩個(gè)int指針指針占用空間64 位系統(tǒng)所有指針統(tǒng)一占8 字節(jié)32 位系統(tǒng)所有指針統(tǒng)一占4 字節(jié)printf(指針大小%lu\n, sizeof(int*));3. 指針初始化與賦值int num 100; // 合法初始化 int *p NULL; // 空指針推薦默認(rèn)初始化方式 int *p2 num; // 存儲(chǔ)變量num的地址 p num; // 運(yùn)行時(shí)賦值野指針高危問(wèn)題定義未初始化、指向已釋放內(nèi)存、非法地址的指針。 危害解引用野指針會(huì)造成程序崩潰、內(nèi)存錯(cuò)亂。 規(guī)避方案指針定義時(shí)默認(rèn)賦值NULL僅賦值合法變量 / 數(shù)組的地址4. 兩個(gè)核心運(yùn)算符1 取地址運(yùn)算符作用獲取變量首字節(jié)內(nèi)存地址 規(guī)則只能作用于變量不能對(duì)常量、表達(dá)式取地址int a 10; printf(a的地址%p\n, a);2* 解引用指針運(yùn)算符作用通過(guò)指針存儲(chǔ)的地址訪問(wèn)對(duì)應(yīng)內(nèi)存的數(shù)據(jù)p保存的地址值*p地址對(duì)應(yīng)內(nèi)存里的數(shù)據(jù)類型等于指針基類型int num 20; int *p num; *p 666; // 修改num的值 printf(num %d\n, num); // 輸出666內(nèi)存讀取字節(jié)規(guī)則char*解引用讀取 1 字節(jié)int*解引用讀取 4 字節(jié)double*解引用讀取 8 字節(jié)5. 指針?biāo)阈g(shù)運(yùn)算僅、--、整數(shù)、-整數(shù)、指針-指針有意義* / %無(wú)任何使用價(jià)值指針 n向后偏移n * sizeof(基類型)字節(jié)指針 - n向前偏移n * sizeof(基類型)字節(jié)指針1 - 指針2計(jì)算兩個(gè)指針之間相隔的元素個(gè)數(shù)int arr[5] {1,2,3,4,5}; int *p arr; p; // 向后偏移4字節(jié)指向arr[1]二、指針作為函數(shù)參數(shù)地址傳遞核心作用在被調(diào)函數(shù)中修改主調(diào)函數(shù)的變量值傳遞做不到函數(shù)需要返回多個(gè)結(jié)果時(shí)通過(guò)指針參數(shù)帶出多組數(shù)據(jù)傳遞數(shù)組 / 大塊數(shù)據(jù)避免完整拷貝節(jié)省內(nèi)存開銷示例交換兩個(gè)數(shù)字值傳遞失敗地址傳遞成功#include stdio.h // 值傳遞無(wú)法交換主函數(shù)變量 void swap_err(int a, int b) { int tmp a; a b; b tmp; } // 地址傳遞通過(guò)指針修改外部變量 void swap(int *pa, int *pb) { int tmp *pa; *pa *pb; *pb tmp; } int main(void) { int x 10, y 20; swap_err(x, y); printf(錯(cuò)誤交換x%d y%d\n, x, y); swap(x, y); printf(正確交換x%d y%d\n, x, y); return 0; }三、指針與一維整形數(shù)組1. 數(shù)組名本質(zhì)數(shù)組名arr等價(jià)于arr[0]是首元素地址常量右值不能賦值修改 尋址等價(jià)公式plaintextarr[i] ? *(arr i) arr[i] ? arr i2. 一維數(shù)組兩種傳參寫法完全等價(jià)// 寫法1數(shù)組形式 void print_arr(int a[], int len); // 寫法2指針形式底層完全一致 void print_arr(int *pa, int len);完整遍歷示例#include stdio.h void print_arr(int *pa, int len) { for(int i 0; i len; i) { printf(%d , *(pa i)); } } int main(void) { int arr[5] {11,22,33,44,55}; int len sizeof(arr)/sizeof(arr[0]); print_arr(arr, len); return 0; }四、拓展區(qū)分指針數(shù)組 vs 數(shù)組指針1. 指針數(shù)組char *str[]數(shù)組里每一個(gè)元素都是字符指針存儲(chǔ)多個(gè)字符串的地址內(nèi)存不連續(xù)。char *name[] {張三, 李四, 王五};2. 數(shù)組指針char str[][16]二維字符數(shù)組整塊連續(xù)內(nèi)存每行存放一個(gè)完整字符串函數(shù)傳參必須指定列數(shù)。char name[3][16] {張三, 李四, 王五};高頻面試坑二者不可互相作為函數(shù)參數(shù)傳遞內(nèi)存布局完全不同。五、萬(wàn)能指針 void*void*可以接收任意類型變量、數(shù)組的地址使用前必須強(qiáng)制轉(zhuǎn)換為對(duì)應(yīng)類型指針才能解引用int num 100; void *p num; // 解引用需要強(qiáng)制轉(zhuǎn)換 printf(%d\n, *(int*)p);未完結(jié)待更新

相關(guān)新聞

2026年|靠譜外貿(mào)獨(dú)立站建站公司深度測(cè)評(píng)

2026年|靠譜外貿(mào)獨(dú)立站建站公司深度測(cè)評(píng)

導(dǎo)語(yǔ) 在當(dāng)今全球化的商業(yè)環(huán)境下,外貿(mào)出海成為眾多企業(yè)拓展業(yè)務(wù)的重要途徑,而外貿(mào)獨(dú)立站的建設(shè)與運(yùn)營(yíng)愈發(fā)關(guān)鍵。2026年,外貿(mào)獨(dú)立站行業(yè)發(fā)生了諸多變化,為幫助有外貿(mào)出海需求的企業(yè)主更好地選擇合適的建站服務(wù)商,本文將…

2026/8/4 5:52:50 閱讀更多
大模型打通企業(yè)數(shù)據(jù)孤島:AI替代數(shù)據(jù)中臺(tái)需要哪幾步

大模型打通企業(yè)數(shù)據(jù)孤島:AI替代數(shù)據(jù)中臺(tái)需要哪幾步

大模型打通企業(yè)數(shù)據(jù)孤島:AI替代數(shù)據(jù)中臺(tái)需要哪幾步業(yè)內(nèi) 70% 的企業(yè)在投入數(shù)據(jù)中臺(tái)建設(shè)后,大模型依然讀不懂跨系統(tǒng)的數(shù)據(jù)——這不是模型能力問(wèn)題,而是語(yǔ)義對(duì)齊問(wèn)題。一、問(wèn)題的根因:語(yǔ)義鴻溝企業(yè)在推進(jìn)大模型落地時(shí),最常…

2026/8/4 5:52:50 閱讀更多
商業(yè)智能預(yù)置模板:提升BI項(xiàng)目效率的關(guān)鍵

商業(yè)智能預(yù)置模板:提升BI項(xiàng)目效率的關(guān)鍵

1. 行業(yè)預(yù)置模板的價(jià)值與定位在商業(yè)智能項(xiàng)目實(shí)施過(guò)程中,數(shù)據(jù)準(zhǔn)備和報(bào)表開發(fā)往往占據(jù)60%以上的時(shí)間成本。三年前我接手某零售集團(tuán)的BI項(xiàng)目時(shí),光是搭建基礎(chǔ)銷售分析模型就耗費(fèi)了團(tuán)隊(duì)近兩個(gè)月時(shí)間。直到發(fā)現(xiàn)預(yù)置模板這個(gè)"效率加速器",…

2026/8/4 5:42:50 閱讀更多
基于自正交拉丁方的圖像加密MATLAB實(shí)現(xiàn)

基于自正交拉丁方的圖像加密MATLAB實(shí)現(xiàn)

1. 項(xiàng)目概述 圖像加密技術(shù)在現(xiàn)代信息安全領(lǐng)域扮演著重要角色,特別是在醫(yī)療影像、軍事通信和商業(yè)版權(quán)保護(hù)等敏感場(chǎng)景。自正交拉丁方算法作為一種經(jīng)典的組合數(shù)學(xué)結(jié)構(gòu),因其良好的偽隨機(jī)性和可逆性,成為圖像加密領(lǐng)域的研究熱點(diǎn)之一。本文將詳細(xì)解…

2026/8/4 8:22:58 閱讀更多
冥想第一千九百六十一天

冥想第一千九百六十一天

1.周一,天氣很悶熱,從進(jìn)入8月就很悶熱,今天藍(lán)天白云,下班的時(shí)候?yàn)踉泼懿肌=裉烊ソ∩矸颗懿健?2.感謝父母,感謝朋友,感謝家人,感謝不斷進(jìn)步的自己。

2026/8/4 8:22:58 閱讀更多
SpringBoot分潤(rùn)系統(tǒng)開發(fā)實(shí)戰(zhàn)與架構(gòu)設(shè)計(jì)

SpringBoot分潤(rùn)系統(tǒng)開發(fā)實(shí)戰(zhàn)與架構(gòu)設(shè)計(jì)

1. 項(xiàng)目背景與核心需求在當(dāng)今數(shù)字化經(jīng)濟(jì)時(shí)代,分潤(rùn)管理已成為各類平臺(tái)型企業(yè)、分銷系統(tǒng)和合作伙伴生態(tài)中的核心業(yè)務(wù)模塊。我去年為一家本地生活服務(wù)平臺(tái)開發(fā)分潤(rùn)系統(tǒng)時(shí),深刻體會(huì)到傳統(tǒng)Excel手工核算方式在數(shù)據(jù)量超過(guò)5萬(wàn)條時(shí),計(jì)算錯(cuò)誤率會(huì)飆升到…

2026/8/4 8:22:58 閱讀更多
配電網(wǎng)優(yōu)化:小生境粒子群算法與光伏儲(chǔ)能協(xié)同控制

配電網(wǎng)優(yōu)化:小生境粒子群算法與光伏儲(chǔ)能協(xié)同控制

1. 配電網(wǎng)優(yōu)化與粒子群算法的結(jié)合背景 現(xiàn)代配電網(wǎng)正面臨前所未有的復(fù)雜運(yùn)行環(huán)境。隨著分布式光伏的大規(guī)模并網(wǎng)和儲(chǔ)能設(shè)備的廣泛應(yīng)用,傳統(tǒng)配電網(wǎng)從單向供電網(wǎng)絡(luò)轉(zhuǎn)變?yōu)槎嘣椿?dòng)的復(fù)雜系統(tǒng)。我參與過(guò)多個(gè)光伏電站并網(wǎng)項(xiàng)目,親眼目睹了這種變化對(duì)電網(wǎng)運(yùn)行帶來(lái)…

2026/8/4 8:22:58 閱讀更多
SpringBoot+Vue3構(gòu)建疫情圖書館管理系統(tǒng)實(shí)戰(zhàn)

SpringBoot+Vue3構(gòu)建疫情圖書館管理系統(tǒng)實(shí)戰(zhàn)

1. 項(xiàng)目概述:疫情時(shí)代下的圖書館管理系統(tǒng)技術(shù)棧選型 2020年以來(lái)的特殊環(huán)境讓傳統(tǒng)圖書館管理模式面臨嚴(yán)峻挑戰(zhàn)。我去年為某高校開發(fā)的這套系統(tǒng),采用SpringBoot2Vue3MyBatis-PlusMySQL8.0技術(shù)棧,實(shí)現(xiàn)了掃碼入館、座位預(yù)約、圖書消毒記錄等疫情特…

2026/8/4 8:22:58 閱讀更多
Clangd vs 傳統(tǒng)IDE:C++開發(fā)工具2024實(shí)測(cè)對(duì)比與選擇指南

Clangd vs 傳統(tǒng)IDE:C++開發(fā)工具2024實(shí)測(cè)對(duì)比與選擇指南

1. 項(xiàng)目概述:為什么我們要重新審視C開發(fā)工具? 作為一名在C領(lǐng)域摸爬滾打了十多年的老碼農(nóng),我經(jīng)歷過(guò)從Visual Studio 6.0到如今各種現(xiàn)代化工具的變遷。最近幾年,一個(gè)名為Clangd的語(yǔ)言服務(wù)器協(xié)議(LSP)實(shí)現(xiàn)&…

2026/8/4 8:12:57 閱讀更多
清華大學(xué)重磅EST:植物自導(dǎo)電閃蒸焦耳熱600°C/2600°C兩步法!稀土超積累植物秒級(jí)轉(zhuǎn)化為CeO?-石墨烯電催化劑!

清華大學(xué)重磅EST:植物自導(dǎo)電閃蒸焦耳熱600°C/2600°C兩步法!稀土超積累植物秒級(jí)轉(zhuǎn)化為CeO?-石墨烯電催化劑!

通訊作者:鄧兵、劉建國(guó)通訊單位:清華大學(xué)DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清潔能源技術(shù)與電子器件不可或缺的核心原料,然而傳統(tǒng)提取方式依賴能耗高、排放大的采礦與強(qiáng)…

2026/8/4 0:01:30 閱讀更多
貴州師范大學(xué)JCIS:混合焓調(diào)控設(shè)計(jì)PtCoNiCuCr高熵合金!ORR半波電位0.89 V/質(zhì)量活性2.4倍Pt/C!

貴州師范大學(xué)JCIS:混合焓調(diào)控設(shè)計(jì)PtCoNiCuCr高熵合金!ORR半波電位0.89 V/質(zhì)量活性2.4倍Pt/C!

研究背景質(zhì)子交換膜燃料電池(PEMFCs)因其高能量轉(zhuǎn)換效率和清潔零排放特性備受關(guān)注,然而陰極氧還原反應(yīng)(ORR)動(dòng)力學(xué)遲緩、鉑催化劑成本高昂且耐久性不足的問(wèn)題嚴(yán)重制約了其商業(yè)化進(jìn)程。將 Pt 與 3d 過(guò)渡金屬合金化可調(diào)控…

2026/8/4 0:01:30 閱讀更多
福州大學(xué)/清華大學(xué)AFM:脈沖焦耳熱900°C/1s合成Co?Cu催化劑,寬電位NH?法拉第效率~100%,MEA穩(wěn)定300h

福州大學(xué)/清華大學(xué)AFM:脈沖焦耳熱900°C/1s合成Co?Cu催化劑,寬電位NH?法拉第效率~100%,MEA穩(wěn)定300h

通訊作者:萬(wàn)宇馳、張久俊、呂瑞濤通訊單位:福州大學(xué) 、清華大學(xué)DOI:https://doi.org/10.1002/adfm.76112核心導(dǎo)讀:本文提出"分步升級(jí)"廢硝酸鹽處理新路線——利用廢水中的金屬離子經(jīng)快速焦耳熱(40V&#xff…

2026/8/4 0:01:30 閱讀更多
MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動(dòng)化發(fā)布完整解決方案 【免費(fèi)下載鏈接】MoneyPrinterPlus AI一鍵批量生成各類短視頻,自動(dòng)批量混剪短視頻,自動(dòng)把視頻發(fā)布到抖音,快手,小紅書,視頻號(hào)上,賺錢從來(lái)沒(méi)有這么容易過(guò)! 支持本地語(yǔ)音模型chatTTS,fasterwhisper,…

2026/8/3 7:44:46 閱讀更多
3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南

3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南

3分鐘搞定!QQ空間歷史說(shuō)說(shuō)完整備份終極指南 【免費(fèi)下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說(shuō)說(shuō) 項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過(guò),那些年發(fā)過(guò)的QQ空間說(shuō)說(shuō),那些記錄青春的文字…

2026/8/3 12:53:38 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應(yīng)用材料(Applied Materials)公司生產(chǎn)的一款用于半導(dǎo)體設(shè)備的I/O信號(hào)分配電路板。該型號(hào)(0100-02186)的核心特點(diǎn)如下:專用于Endura等半導(dǎo)體工藝腔室。集成信號(hào)路由與分配功能。連接控制…

2026/8/3 19:34:52 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動(dòng)機(jī)是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機(jī),適用于自動(dòng)化設(shè)備及通用機(jī)械驅(qū)動(dòng)。該型號(hào)(FFMN-32L-10-T0 40AX)的核心特點(diǎn)如下:三相交流異步電動(dòng)機(jī)。額定…

2026/8/3 19:34:54 閱讀更多