常量指針和指針常量的區(qū)別 常量指針和指針常量有什么區(qū)別?
常量指針和指針常量有什么區(qū)別?常量指針是指向常量的指針。顧名思義,指針指向一個常量,即它不能指向變量,它指向的內(nèi)容不能更改,它指向的內(nèi)容不能被指針修改,但指針本身不是常量,它的值可以更改,所以它可以指
常量指針和指針常量有什么區(qū)別?
常量指針是指向常量的指針。顧名思義,指針指向一個常量,即它不能指向變量,它指向的內(nèi)容不能更改,它指向的內(nèi)容不能被指針修改,但指針本身不是常量,它的值可以更改,所以它可以指向另一個常量。指針常量是--指針本身是一個常量。它指向的地址是不可更改的,但地址中的內(nèi)容可以通過指針更改。它指向的地址將伴隨它一輩子,直到它的生命周期結(jié)束。應(yīng)該注意的是,指針常量的初始值必須在定義的同時賦值。2用法不同:常量指針:const before*指針常量:const after*。示例:(1)常量指針:例如,可以使用int b,C,int const*a,a=&Ba=&C,但不能修改它所指向的內(nèi)容。這是違法的!錯了!(2) 指針常量如int a,B int*const P=&a表示P是指向變量a的內(nèi)存的常量指針。指針常量不能再指向帶有P的其他變量,如P=&B error!您可以修改指向內(nèi)存的值,例如:*P=20。聲明指針常量時,必須按上述公式指定初始值。指針常量也無法釋放。使用P指向null,即P=null將在編譯/opt/test/test時導(dǎo)致錯誤。C:649:錯誤:賦值只讀變量“P”還有一種記住它們不同形式的技巧!如果查看const關(guān)鍵字,則無法修改以下內(nèi)容。例如,int*const a=&B后跟a,則a不能修改!Int const*a=&B后跟*a表示不能修改*a!