日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

常指针、指向常量的指针、指向常量的常指针

發(fā)布時間:2024/9/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 常指针、指向常量的指针、指向常量的常指针 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

三者的區(qū)分

簡而言之~

常指針:地址不可變,內(nèi)容可變

指向常量的指針:地址可變,內(nèi)容不可變

指向常量的常指針:地址不可變,內(nèi)容不可變

樣例

代碼如下:

#include <iostream> using namespace std; int main() { /************指向常量的常指針(把指針所指的地址聲明為常量,所指向地址中存放的內(nèi)容也不能改變)************/const char *const name1="chen";//聲明一個指針變量name1,name1指針指向"chen"字符串的首地址/*-------name1【name[0]】--> | c |-------| h |-------| e |-------name1[3]--> | n |-------*/name1[3]='a';//錯誤【name1為指針,指向”chen“字符串的首地址(相當于一個有一個數(shù)組name1,name1[3]即表示該數(shù)組中下標為3的元素)】name1="lin";//錯誤【該語句表示,將該指針改為指向”lin“字符串的首地址,錯誤】name1=new char[5];//錯誤【該語句表示,new一個char型數(shù)組,將該指針改為指向該char型數(shù)組的首地址,錯誤】cout<<name1[3]<<endl;//正確,輸出字符n/************常指針(把指針所指的地址聲明為常量,所指向地址中存放的內(nèi)容可以改變)************/ //聲明一個指針變量name2,該指針為指向字符型數(shù)據(jù)的常指針,用“chen”字符串的存儲地址初始化該指針char *const name2="abcd";cout<<name2<<endl;name2[3]='q';//正確(地址為常量,該地址內(nèi)存儲的內(nèi)容可以改變)name2="lin";//錯誤(地址不可變)name2=new char[5];//錯誤(該語句表示創(chuàng)建一個char型數(shù)組,將該數(shù)組的首地址賦值name2指針,即使指針指向char[5]數(shù)組的首地址,地址不可變,因此該語句錯誤)name2=new char('q');//錯誤(該語句表示new一個char型變量,并初始化該變量為q,將name2指針指向該char型變量的地址,錯誤)/************指向常量的指針(指針所指的地址可以改變,所指向地址中存放的內(nèi)容不能改變)************/ const char *name3="because"; char x='p'; char y[9]="dgaogd"; name3[2]='s';//錯誤【存儲內(nèi)容不可改變】 name3=&x;//正確【地址可以改變】 name3=y;//正確【地址可以改變】 name3=y[3];//錯誤【內(nèi)容不可變】 }

總結

以上是生活随笔為你收集整理的常指针、指向常量的指针、指向常量的常指针的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。