社区
C语言
帖子详情
const char * s和char * const s的区别
DuBin11
2008-10-31 03:50:13
记得有一个是地址可变,值不变,另外一个正好相反,记不清哪个是哪个了
...全文
140
5
打赏
收藏
const char * s和char * const s的区别
记得有一个是地址可变,值不变,另外一个正好相反,记不清哪个是哪个了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
czbever
2008-10-31
打赏
举报
回复
常量指针和指针常量的问题
chenzhp
2008-10-31
打赏
举报
回复
const在左边还是在右边
口诀: 左内(内容)右本(本身)
lbh2001
2008-10-31
打赏
举报
回复
const char * s ----> s可变
char * const s ----> s不可变
killbug2004
2008-10-31
打赏
举报
回复
1
下面定义的一个指向字符串的常量指针:
char * const prt1 = stringprt1;
其中,ptr1是一个常量指针。因此,下面赋值是非法的。
ptr1 = stringprt2;
而下面的赋值是合法的:
*ptr1 = "m";
因为指针ptr1所指向的变量是可以更新的,不可更新的是常量指针ptr1所指的方向(别的字符串)。
下面定义了一个指向字符串常量的指针:
const * ptr2 = stringprt1;
其中,ptr2是一个指向字符串常量的指针。ptr2所指向的字符串不能更新的,而ptr2是可以更新的。因此,
*ptr2 = "x";
是非法的,而:
ptr2 = stringptr2;
是合法的。
所以,在使用const修饰指针时,应该注意const的位置。定义一个指向字符串的指针常量和定义一个指向字符串常量的指针时,const修饰符的位置不同,前者const放在*和指针名之间,后者const放在类型说明符前。
wyswyg63
2008-10-31
打赏
举报
回复
const char *s 中const 修饰的是char, char不可变
char const *s 与上一样
char * const s 修饰的是s,地址不可变
const
char
*s 和
char
*
const
s
区别
//
#include "stdafx.h"
// 先定义一个接口
template < class DataType >
class A
{
public:
virtualint SomeFunc(
const
DataType &Value ) = 0;
};
// B来实现这个接口为这样,竟然编译不过!
template< class somethi
关于
const
char
*s和
char
*
const
s
首先要明确的一点,无论是
const
char
*s还是
char
*
const
s,这里的s都是指针。 我对这两种声明的理解方式是:看
const
右边接的是什么,则
const
修饰的就是什么。
const
char
*s中,可以把
const
右边分成
char
和(*s)两个部分看,显然
char
和(*s)在代码里指的都是字符,所以
const
char
*s指的是s指向的字符(串)是常量,不能修改,而s指
const
char
*、
char
const
*、
char
*
const
三者
区别
最近在写代码时经常碰到这几个定义,总是搞不清楚,看了很多大佬的解析,其实还是很好区分的。 首先有指针s表示的是内存地址,有了指针不仅可以对指向的内容进行操作,即 s,还可以对存储地址进行操作&s。 一、
const
char
s
const
char
* s表示的是指向常量的指针,就是不可以利用该指针对其指向的数据进行修改,即*s不能变(但是其他指针可以对这个数据进行修改),但是该指针的指向可以修改,即s可以变。 二、
char
const
*s
char
const
*s与第一种
const
char
C++中你可能会忽略掉或者搞错的重要知识
C++一些容易忽略和弄错的知识点
【C/C++基础进阶系列】C/C++ 常见知识点总结
【C/C++基础进阶系列】C/C++ 常见知识点总结 目录 【C/C++基础进阶系列】C/C++ 常见知识点总结 【1】offsetof 宏 【2】
char
*s 和
char
s[] 的
区别
【3】左值和右值 【4】C++ 聚合类 【5】reinterpret_cast
const
_cast static_cast 和 dynamic_cast 【6】
const
与
const
expr关键字 【7】noexcept关键字 【8】explicit 关键字 【1】offsetof 宏 #
C语言
70,038
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章