C語(yǔ)言中const指針的使用方法

小樊
82
2024-09-20 10:30:07

在C語(yǔ)言中,const關(guān)鍵字用于聲明一個(gè)常量,即其值在初始化后不能被修改。當(dāng)我們將const關(guān)鍵字與指針一起使用時(shí),可以創(chuàng)建一個(gè)指向常量的指針。這種指針有以下兩種使用方法:

  1. 指向常量的指針(Pointer to const): 在這種使用方法中,指針可以指向任意類型的常量,但不能通過(guò)該指針修改所指向的值。聲明指向常量的指針的方法如下:
const type *pointer_name;

例如,我們可以聲明一個(gè)指向整型常量的指針,如下所示:

const int *ptr;

這里,ptr 是一個(gè)指向整型常量的指針,我們不能通過(guò) ptr 修改它所指向的值。例如:

int a = 10;
const int *ptr = &a; // ptr 指向 a 的地址
*ptr = 20; // 錯(cuò)誤!不能通過(guò) const 指針修改所指向的值
  1. 常量指針(Const pointer): 在這種使用方法中,指針本身是一個(gè)常量,不能被重新賦值,但它可以指向任意類型的變量。聲明常量指針的方法如下:
type *const pointer_name;

例如,我們可以聲明一個(gè)指向整型變量的常量指針,如下所示:

int a = 10;
int *const ptr = &a; // ptr 是一個(gè)指向 a 的常量指針
ptr = &b; // 錯(cuò)誤!常量指針不能被重新賦值

總結(jié)一下,指向常量的指針(Pointer to const)允許你改變指針的值,但不能通過(guò)指針改變它所指向的值;而常量指針(Const pointer)不允許你改變指針的值,但可以通過(guò)指針改變它所指向的值。

0