Administrator
发布于 2023-11-07 / 6 阅读 / 0 评论 / 0 点赞

溢信科技公司线上笔试

广州溢信科技公司

线上笔试时间:2023年11月7日 14:00

上面的三种描述涉及到C语言中指针的类型修饰符的不同。它们的区别如下:

1. (1) const char *p

这种写法表示`p`是一个指向`const char`类型的指针。也就是说,指针`p`可以指向任意`const char`类型的数据,但不能通过`p`来修改所指向的数据。

2. (2) char const *p

这种写法与第一种写法等价,也表示`p`是一个指向`const char`类型的指针。`const`关键字可以放在`char`之前或之后,效果是一样的。

3. (3) char * const p

这种写法表示`p`是一个指向`char`类型的常量指针。也就是说,指针`p`本身是一个常量,它的值不能被修改,一旦指向某个内存地址,就不能再指向其他地址。但是,可以通过`p`来修改所指向的数据。

总结一下:

- 在第一种和第二种写法中,`const`关键字修饰的是指针所指向的数据,表示数据是不可修改的。

- 在第三种写法中,`const`关键字修饰的是指针本身,表示指针是不可修改的,但可以通过指针修改所指向的数据。

需要注意的是,这些修饰符的位置和顺序可以不同,但它们的含义是相同的。


评论