C 指向常量的指標與常指標

2021-07-29 22:00:02 字數 927 閱讀 8842

一,指向常量的指標

宣告乙個指向常量的指標,例如:

int num = 20;

const int *p = #

上面的宣告指出p指向乙個const int,因此不能使用p來修改這個值,換句話說*p的值為const不能修改。p的宣告並不意味著它指向的值實際上是乙個常量,而只是意味著對p而言,這個值是常量。例如,p指向num,而num不是const。可以直接通過num變數來修改num的值,但是不能使用p指標來修改num的值。

注意:可以將const資料或非const資料的位址賦給指向const的指標,但是只能將非const的位址賦給非const指標。

二,盡可能使用const

將指標引數宣告為指向常量資料的指標有兩條理由:

1,無法通過指針對原始資料進行修改。

2,使用const使得函式可以處理const與非const引數,否則將只能接受非const資料。

#include using namespace std;

void display(const int nums, int n){

for(int i = 0; i < n; i ++){

cout<

三,指標常量

宣告乙個指標常量

int num = 20;

int *const p = #

可以修改指標指向的num,但是不能修改指標的值。

四,兩種指標語法上的區別

int nums = 20;

const int *p = &nums; //指向常量的指標

int *const q = &nums; //常指標

1,const位於*的左側宣告的是指向常量的指標。

2,const位於*的右側宣告的是常指標。

常指標 指向常量的指標與指向常量的常指標的區分

個人根據一些資料,簡要總結如下 include using namespace std int main 補充 1 constexpr變數簡介 在c 11新標準規定,允許將變數宣告為constexpr型別以便由編譯器來驗證變數的值是否是乙個常量表示式。宣告為constexpr的變數一定是乙個常量,而...

指標常量,常指標,指向常量的常指標

1.指標常量 從字面意思可以看出,指標是乙個常量,也就是位址不能被修改。int const p 特點是指標指向的數值可以改變,然而指標所儲存的位址卻不可以改變。include using namespace std void main int a 10 int const p a cout 我們可以...

指標常量,常指標,指向常量的常指標

1.指標常量 從字面意思可以看出,指標是乙個常量,也就是位址不能被修改。int const p 特點是指標指向的數值可以改變,然而指標所儲存的位址卻不可以改變。include using namespace std void main int a 10 int const p a cout 我們可以...