如何定义指针常量和指向常量的指针?

常量指针是指向常量的指针。顾名思义AG游乐城 ,指针指向常量,即不能指向变量,指向的内容不能更改,指向的内容不能通过指针修改,但指针不是一个常量本身指向字符常量的指针亚博vip登陆 ,可以更改其自身的值,该值可以指向另一个常量。

指针常量表示-指针本身是一个常量。它指向的地址是不可变的,但是可以通过指针更改地址中的内容。它所指向的地址将一直伴随着它的生命,直到生命周期的尽头。要注意的一件事是,在定义指针常量时,必须为其分配一个初始值。

2.使用方法

写作上的区别:

常量指针:*之前的const。指针常量:*后的const。

使用示例:

(1)常量指针用法:

例如int b,c;

int const * a;

a =&b;

a =&c;

无论哪种方式,但是它指向的内容都无法修改。如:* a = 20;这是非法的!错误!

([2)使用指针常量

例如int a,b;

int * const p =&a;

表示p是一个常数指针指向字符常量的指针,它指向变量a的内存。指针常量不能再使用p指向其他变量足球外围 ,例如p =&b;。错误!您可以修改指向内存的值,例如:* p = 20;声明指针常量后广西快三 ,必须按照上面的公式分配初始值。

指针常量也不能释放,使用p指向NULL,即

p = NULL;

在编译过程中将报告错误

/opt/test/test.c:649:错误:分配只读变量'p'

还有一个技巧来记住它们的不同形式!看一下const关键字,以下内容不能修改,例如int * const a =&b;后面跟着a,表示a不能被修改!

int const * a =&b; * a表示* a不能修改!

老王
地址:深圳市福田区国际电子商务产业园科技楼603-604
电话:0755-83586660、0755-83583158 传真:0755-81780330
邮箱:info@qbt8.com
地址:深圳市福田区国际电子商务产业园科技楼603-604
电话:0755-83174789 传真:0755-83170936
邮箱:info@qbt8.com
地址:天河区棠安路288号天盈建博汇创意园2楼2082
电话:020-82071951、020-82070761 传真:020-82071976
邮箱:info@qbt8.com
地址:重庆南岸区上海城嘉德中心二号1001
电话:023-62625616、023-62625617 传真:023-62625618
邮箱:info@qbt8.com
地址:贵阳市金阳新区国家高新技术开发区国家数字内容产业园5楼A区508
电话:0851-84114330、0851-84114080 传真:0851-84113779
邮箱:info@qbt8.com