抗议雨中飞燕!!说话吞吞吐吐!!不解释明白,装酷吗??????
很多基础的东西,是你要去看书的,不是等着人家来讲的...

偶学编程,也许本身就是一个错。。。
抗议雨中飞燕!!说话吞吞吐吐!!不解释明白,装酷吗??????
很多基础的东西,是你要去看书的,不是等着人家来讲的...
char *a = "abc" 是声明了A是一个字符类型的指针,并指针的指向是字符串abc在内存中的首地址,在程序的运行中,*a能做运算,比如while (i<3)
{a++};要说明的是此时的a是变量,是指针变量,而不是常量;运行程序 之后做a++,此时a的指向是b的地址了相当于*a=b了。
char a[] = "abc" 这个是给数组a赋值的,这儿的=是表示 赋值运算符;应该注意的是此时的a 是字符串常量,它的值不能运算,还有一点是 在c语言中,程序运行的时候他允许这样:*(a+i)它相当于a[0+i].
各位 前辈们 我是新手 有错的地方 还请指出来
char* a = "abc";
convert `const char*` into `char *` error
by 雨中飞燕 QQ:78803110 QQ讨论群:5305909
[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
char* a = "abc";
convert `const char*` into `char *` error
知道了。以前一直没注意这个问题。
你早点这么说也不会有人说你装酷了
自己简单的理解:
char* a = "abc";
编译器把字符串"abc"做为常量所分配的节区类似与 win32中的 .const数据段
.const数据段的属性是由程序运行的时候操作系统为其建立的,它的属性由在GDT中为该任务建立的LDT中存在的数据段描述符来表示,
具体于 "abc"所在的数据段 所属的段描述符的type 4位属性为 数据段 可读 不可写 ,
我们的程序的cs段的 rpl和cpl 是3级 也就是最外级,当对属性为可读不可写的数据段 进行写操作的时候,cpu自己判断我们的程序不具有该权限,
所以产生一个保护性中断,交由操作系统来处理.操作系统产生1个对话框.