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

C語言指標完全指南:聲明、多級指標、數組、字符串、函數指標與應用

     編輯:關於C語言

C語言指標完全指南:聲明、多級指標、數組、字符串、函數指標與應用

一、指標聲明與基本概念

int a = 90; int *p; p = &a;  // p 存儲 a 的地址
*p = 20;                     // 間接修改 a 的值
  • 格式:類型 *變量名,* 是聲明標識,非變量名一部分。
  • 指標只存地址,根據地址訪問對應存儲空間。
  • 類型匹配:int* 只能指向 int;未初始化指標不可間接訪問。

二、多級指標

char a = 'A';
char *p = &a;
char **pp = &p;
char ***ppp = &pp;

二級指標常用於「修改一級指標的值」(如函數分配內存返回指針)。

三、指標應用:函數多返回值

int sumAndMinus(int a, int b, int *minus) {
    *minus = a - b;
    return a + b;
}
int main() { int m; int s = sumAndMinus(12, 8, &m); }

四、指標與數組

  • 數組名是首元素地址(常量指針)。
  • 遍歷:*(p+i) 或 p[i] 等價。
  • 指標算術:p+1 指向下一元素,步長為元素類型大小。

五、指標與字符串

char c1[] = "name";  // 字符數組,可修改內容
char *c2 = "name";   // 指向字符串常量,不可修改內容
char *c3 = "name";   // c2 與 c3 指向同一常量區地址
  • 需修改內容用數組;只讀高頻使用用指針指向常量區。

六、指針數組

char *names[3] = {"jack", "rose", "tom"};

七、函數指標

  • 返回指針的函數:char *func() { return "str"; }
  • 指向函數的指針:void (*p)(); p = func; (*p)();
  • 聲明格式:返回類型 (*指釖名)(參數列表)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved