中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
C語言教程-詳解C語言中的常量指針

常量指針

在C語言中,常量指針是指不能改變其所指向變量的地址,即地址將保持不變。因此,我們可以說如果一個(gè)常量指針指向某個(gè)變量,那么它不能指向其他變量。

常量指針的語法

<指針類型> * const <指針名稱>;

常量指針的聲明如下:

int * const ptr;

通過示例來理解常量指針

#include <stdio.h>
int main(){int a = 1;int b = 2;int * const ptr; ptr = &a;ptr = &b; printf('ptr的值為:%d', *ptr); return 0;}

以上代碼解釋如下:

  • 我們聲明了兩個(gè)變量a和b,分別賦值為1和2。

  • 我們聲明了一個(gè)常量指針。

  • 首先,我們將變量'a'的地址賦給指針'ptr'。

  • 然后,我們將變量'b'的地址賦給指針'ptr'。

  • 最后,我們嘗試打印指針'ptr'所指向的變量的值。

??點(diǎn)擊領(lǐng)取??

??C語言知識(shí)資料合集

輸出結(jié)果

從上述輸出結(jié)果可以看出,以上代碼產(chǎn)生了錯(cuò)誤:'assignment of read-only variable 'ptr''。這意味著指針'ptr'所持有的變量'ptr'的值是只讀的。在上述代碼中,我們?cè)噲D將'ptr'的值從&a更改為&b,但這在使用常量指針時(shí)是不可能的。因此,我們可以說,指向某個(gè)變量的常量指針不能指向其他變量。


指向常量的指針

指向常量的指針是指通過該指針指向的變量的值不能被更改。這些指針的地址可以更改,但指針?biāo)赶虻淖兞康闹挡荒芨摹?/span>

指向常量的指針的語法

const <指針類型> * <指針名稱>

指向常量的指針的聲明如下:

const int *ptr;

通過示例來理解。

  • 首先,我們編寫一個(gè)更改指針值的代碼示例:

#include <stdio.h>
int main(){int a = 100;int b = 200;const int *ptr; ptr = &a;ptr = &b; printf('ptr的值為:%u', ptr); return 0;}

以上代碼解釋如下:

  • 我們聲明了兩個(gè)變量a和b,分別賦值為100和200。

  • 我們聲明了一個(gè)指向常量的指針。

  • 首先,我們將變量'a'的地址賦給指針'ptr'。

  • 然后,我們將變量'b'的地址賦給指針'ptr'。

  • 最后,我們嘗試打印'ptr'的值。

輸出結(jié)果

以上代碼成功運(yùn)行,并在輸出中顯示了'ptr'的值。

  • 現(xiàn)在,我們編寫一個(gè)改變指針?biāo)赶虻淖兞恐档拇a示例。

#include <stdio.h>
int main(){int a = 100;int b = 200;const int *ptr; ptr = &b;*ptr = 300; printf('ptr的值為:%d', *ptr); return 0;}

以上代碼解釋如下:

  • 我們聲明了兩個(gè)變量'a'和'b',分別賦值為100和200。

  • 我們聲明了一個(gè)指向常量的指針。

  • 我們將變量'b'的地址賦給指針'ptr'。

  • 然后,我們?cè)噲D通過指針'ptr'修改變量'b'的值。

  • 最后,我們嘗試打印指針'ptr'所指向的變量的值。

輸出結(jié)果

以上代碼顯示了錯(cuò)誤:'assignment of read-only location '*ptr''。這個(gè)錯(cuò)誤意味著我們不能改變指針?biāo)赶虻淖兞康闹怠?/span>

常量指針指向常量

常量指針指向常量是指上述兩種指針的組合。它既不能改變所指變量的地址,也不能改變?cè)摰刂诽幍闹怠?/span>

語法

const <指針類型> * const <指針名稱>;

常量指針指向常量的聲明如下:

const int * const ptr;

通過示例來理解。

#include <stdio.h>
int main(){int a = 10;int b = 90;const int * const ptr = &a; *ptr = 12;ptr = &b; printf('ptr的值為:%d', *ptr); return 0;}

以上代碼解釋如下:

  • 我們聲明了兩個(gè)變量'a'和'b',分別賦值為10和90。

  • 我們聲明了一個(gè)常量指針指向常量,并將'a'的地址賦給指針'ptr'。

  • 我們?cè)噲D通過指針'ptr'改變變量'a'的值。

  • 然后,我們?cè)噲D將變量'b'的地址賦給指針'ptr'。

  • 最后,我們打印指針'ptr'所指向的變量的值。

輸出結(jié)果

以上代碼顯示了錯(cuò)誤:'assignment of read-only location '*ptr''和'assignment of read-only variable 'ptr''。因此,我們得出結(jié)論:常量指針指向常量既不能改變地址,也不能改變所指向的變量的值。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C語言學(xué)習(xí)之基礎(chǔ)知識(shí)點(diǎn)—指針!上萬字的干貨知識(shí)
const 用法總結(jié)(C++)
C 總結(jié):C 中的const和constexpr
C專家編程精華篇
常量指針和指針常量的區(qū)別詳解
C++11 中值得關(guān)注的幾大變化(詳解) | 酷殼
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服