首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言指針訪問一維數組元素完全指南

     編輯:關於C語言

指針指向數組元素

int a[10], *p;
p = &a[0]; // 指向第 0 元素
p = a;     // 等價:數組名退化為首元素地址

數組元素連續存放,指針算術可遍歷所有元素。

地址與值的多種表示

表示形式含義等價形式
p+i / a+i第 i 元素地址&a[i]
*(p+i) / *(a+i)第 i 元素值a[i]
p[i]第 i 元素值*(p+i)

指針下標靈活性

p = a + 5; // p 指向 a[5]
p[2]  → *(p+2) → a[7]
p[-3] → *(p-3) → a[2]

指針下標可正可負,相對於指針當前位置偏移。這在指針已定位到數組中間位置時極為方便。

數組名與指針的本質區別

  • 數組名:常量,編譯時確定地址,不可修改(a++ 錯誤)
  • 指針變量:變量,可修改指向,可參與算術運算

動態分配與靜態數組對比

  • 靜態數組:編譯期分配,生命週期隨作用域
  • 指針 + malloc:運行期分配,手動管理生命週期,靈活但易出錯

指針與數組的互換性是 C 語言高效操作內存的核心機制之一。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved