首页 > 代码库 > 关于char *file = "Mayuyu"要说的
关于char *file = "Mayuyu"要说的
今天Mayuyu在编程时遇到了一个简短的问题,就是在使用语句char *file = "Mayuyu"时会报警告。警告如下
好了,看到了这个,现在Mayuyu就来分析一下。
char *file = "Mayuyu"这个语句声明了一个指针,指向一块全局的const区域,const内存区当然不是你想改就改,如果你想通过指针file来修改的话,那会导致一个非常严重的错误,不信你可以试试下面的语句。
file[0] = ‘a‘;
strcpy(file, "AKB48");
好了,既然"Mayuyu"是const全局常量区,那么我们同样用一个const指针指向它即可。即使用如下语句
const char *file = "Mayuyu";
这样问题解决,这样当你在修改这个const字符串内容时,编译器会给你一个错误而导致你编译不过,从而不会产生运行时的错误。Mayuyu还有一个问题,就是char *p = "Mayuyu"和char p[] = "Mayuyu"的区别在哪里?关于这个问题以前的文章就写过啦!在这里
链接:http://blog.csdn.net/achelloworld/article/details/23176629
最后Mayuyu再强调一下char *p = "Mayuyu"是不合法的哦!!!!
关于char *file = "Mayuyu"要说的
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。