自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C語(yǔ)言入門(mén) const使用的理解

開(kāi)發(fā) 后端
希望通過(guò)本文對(duì)CONST的介紹,能給你帶來(lái)幫助。本文適合初學(xué)者閱讀,希望對(duì)你有幫助,一起來(lái)看。

我們都知道,const的用法是非常靈活的。對(duì)于新手來(lái)說(shuō),還是很棘手的。建議大家看看這兩篇文章,可以結(jié)合本篇一起來(lái)看,《C++基礎(chǔ) 詳細(xì)介紹const的用法》和《C++初學(xué)者 const使用詳解

 

const對(duì)很多人來(lái)說(shuō)既陌生又熟悉.可以說(shuō)很棘手的問(wèn)題,有些地方很難理解.我在剛學(xué)C的時(shí)侯,對(duì)它的理解也是很模糊的.好像有點(diǎn)理解,但又說(shuō)不出個(gè)所以然來(lái).在此,就向大家分享,我一直以來(lái)對(duì)它的理解,如有不當(dāng)之處請(qǐng)指教.

const可以說(shuō)一種常量的聲明的關(guān)鍵字,如const int a=2;變量a就是一個(gè)常變量,a的值不能被改變,這個(gè)改變是一定意義上的不能改變.而是說(shuō)值的改變不能直接通過(guò)a這個(gè)符號(hào)來(lái)改變.但事實(shí)上,a的值是可能改變的.如下例子:

  1. #include<stdio.h>  
  2. int main()  
  3. {  
  4. const int a=3;  
  5. int *p=(int*)&a;  
  6. *p=100;  
  7. printf("%d",a);  
  8. return 0;  

 

這樣a的值就被改變了.

const也可以說(shuō)一種只讀的關(guān)鍵字,如

  1. int integerArray[10]={0};  
  2. const int* pointer=integerArray; 

 

這里pointer是指向一個(gè)常變量的指針變量.pointer指向可能改變,但它所指向的變量的值就不能直接通過(guò)pointer來(lái)改變.如:

  1. *(p+1)=2; 

 

這是不可以的.但如果有另外一個(gè)數(shù)組integerArray1,p=integerArray1是可以有.還有指向的變量不可改變,這種不可改變是一定意義的改變.如下例子:

  1. #include<stdio.h>  
  2. int main()  
  3. {   
  4. int array[10]={0};  
  5. const int *pointer=array;  
  6. int *pointer1=(int*)pointer;  
  7. pointer1[0]=1;  
  8. printf("%d",array[0]);  
  9. return 0;  

以上例子說(shuō)明了,不能直接通過(guò)pointer改變array,但可能間接通過(guò)pointer來(lái)改變array;

現(xiàn)在說(shuō)一說(shuō)有const聲明常指針,它的聲明不像聲明指向常量的指針形式.它的聲明形式為:int* const pointer; .常指針在編程的過(guò)程中它的指向不能改變.因此,常指針在聲明的時(shí)侯一定要給它賦初值.

否則,就不能直接給它賦值.但是,如果一定要給它賦上一定的值,是可以的.如下例子:

  1. #include<stdio.h>  
  2. int main()  
  3. {  
  4. int a=2;  
  5. intconst p;  
  6. int **p1=(int**)&p;  
  7. *p1=&a;  
  8. printf("%d",*p);  
  9. return 0;  

 

經(jīng)過(guò)上面的介紹,相信大家對(duì)指向常量的常指針的聲明也不難寫(xiě)出吧.它的聲明形式:cont int* const p;它就不用作過(guò)多的介紹了,指向常量的常指針就是指向常量的指針與常指針的復(fù)合了.

責(zé)任編輯:于鐵 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-05-17 13:04:20

Cconst

2023-12-01 13:47:45

C語(yǔ)言conststat

2010-02-02 14:06:50

C++ const變量

2023-09-26 22:37:16

C++const

2022-01-06 14:25:24

C語(yǔ)言指針內(nèi)存

2021-12-06 11:19:47

語(yǔ)言指針內(nèi)存

2023-10-27 11:21:20

C語(yǔ)言Multics語(yǔ)言

2015-11-10 16:10:22

C語(yǔ)言StaticConst

2011-06-21 10:44:31

const

2010-01-13 17:04:36

C++語(yǔ)言

2010-01-26 10:27:43

C++語(yǔ)言

2009-09-02 17:10:45

C#語(yǔ)言入門(mén)

2011-07-20 10:06:54

CC++const

2023-09-22 09:41:28

LinuxC語(yǔ)言

2024-03-11 15:32:50

C++開(kāi)發(fā)

2022-07-04 09:05:04

DruidSqlParserSQL

2021-09-07 05:02:50

C++ConstexprConst

2010-01-18 16:27:26

C++語(yǔ)言

2021-05-24 06:40:59

C語(yǔ)言Linux軟件庫(kù)

2021-11-11 15:12:21

C語(yǔ)言線程代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)