A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© macau 中级黑马   /  2015-1-9 03:12  /  1210 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 macau 于 2015-1-9 22:35 编辑

定义字符串的两种方式
(1) 利用数组
          char name[ ] = "nba";
           特点:字符串里面的字符可修改
           使用场合:字符串的内容常常要修改时
(2)利用指针
           char *name = "usanba";
             特点:字符串为一个字符常量,里面的字符不能修改
             使用场合:字符串的内容不需要修改,而且这个字符串经常用

2 个回复

倒序浏览
由于最初黑苹果驱动还有问题。
又看到网上教的 sublime+MinGW貌似很轻量。
于是C语言部分就先这么用了,打算OC再进黑苹果。

深刻认识到楼主说的字符常量这个问题是在一次警告中:
我用指针定义字符串的时候,char *name[ ] = "usanba";
收到警告:“不建议使用从字符串常量到‘char *’的转换”

而后网上检索,
由于刚入门,一些解释没看明白。
查到的一个我能理解的说法是:
赋值的字符串处于const区,不可修改,
char *要表达的是给我一个地址,我要找到并可以修改它。
然后 按照那个解释中给出的方法:
const char * = "";
警告就消失了。
然后还看到另外一篇文章,说是不建议const这种用法。
比较建议的是用数组去定义。
但是受限于个人水平,我还没看的太明白。

不知是否有兄弟姐妹给通俗的解释一下~
回复 使用道具 举报
已更新!!!-----------------------------------------------------------------------------------------------
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马