初学的一个疑惑,关于指针

cwf6521783 2006-06-20 12:00:29
有时要定义一个变量来存取字符串,可以用下面多种方式:
CString str;
char *pstr;
char mstr[100]
我该怎么选择用哪种方式?
特别是看很多代码中用char *pstr这种方式,解释一下大家选择的依据,怎么选择
最合适的定义方式
...全文
177 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuyuan830705 2006-06-20
  • 打赏
  • 举报
回复
如果是应用程序。比如基于mfc的,用CString的非常方便。
如果是比如用于通信的。不如就选择直接用char来得好。因为在wince等unicode环境下面,CString和char占的字节数目是不一样的。sizeof( TCHAR) = 2, sizeof(CHAR) = 1
cwf6521783 2006-06-20
  • 打赏
  • 举报
回复
嗷嗷,明白了,还有更好的说法吗?
过下就结帖
wltg2001 2006-06-20
  • 打赏
  • 举报
回复
有很多时间这三种是通用的,不过第一种用CString,因为这是MFC中的类,所以在SDK程序肯定是不能用的,至指针和数组也可以说是通用的,但是指针可以在用时动态的分配内存,用完后释放内存,数组没有这个好处,它在运行时始终占用这块内存.
cwf6521783 2006-06-20
  • 打赏
  • 举报
回复
一般会在什么情况下选用指针的方式,能否举例说明?
wltg2001 2006-06-20
  • 打赏
  • 举报
回复
楼上解释得很清楚了,不过要注意的是,第二种是指针,在使用时一定要先分配内存空间.
langzi0115 2006-06-20
  • 打赏
  • 举报
回复
CString 是一个字符串类,你定义的就是一个对象,其中包括很多关于字符串处理的方法
char * 是一个字符串指针,代表的只是一个字符串的首地址
char []是一个字符数组
以上3个,一个定义的是对象,一个是指针,一个是数组,概念不同,具体用哪个就看你的需要了
居易锦风 2006-06-20
  • 打赏
  • 举报
回复
char *pstr是C++传统方式,而CString str是用对象方式定义的,用起来比较好便
用什么方式定义,那就看根据需要,哪种方便了!

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧