黑马程序员技术交流社区

标题: 指针与字符串中的小知识点 [打印本页]

作者: macau    时间: 2015-1-9 03:12
标题: 指针与字符串中的小知识点
本帖最后由 macau 于 2015-1-9 22:35 编辑

定义字符串的两种方式
(1) 利用数组
          char name[ ] = "nba";
           特点:字符串里面的字符可修改
           使用场合:字符串的内容常常要修改时
(2)利用指针
           char *name = "usanba";
             特点:字符串为一个字符常量,里面的字符不能修改
             使用场合:字符串的内容不需要修改,而且这个字符串经常用
作者: 仰望的繁华    时间: 2015-1-9 11:57
由于最初黑苹果驱动还有问题。
又看到网上教的 sublime+MinGW貌似很轻量。
于是C语言部分就先这么用了,打算OC再进黑苹果。

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

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

不知是否有兄弟姐妹给通俗的解释一下~

作者: macau    时间: 2015-1-9 22:33
已更新!!!-----------------------------------------------------------------------------------------------




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2