小弟看书,在Programming in Objective C的296页 char *textPtr; 我能理解textPtr是指向这个C风格字串的首地址,但是不能理解为什么(text = “This is not valid.”;)是错的。难道是因为C风格字串默认constant,不能用来给非const赋值,只能用来初始化? 感激不尽 |
|
10分 |
text = “This is not valid.”;这是给数组的首地址赋值吗?
char text[80] = “This is okay.”;这个是初始化。 c99就是这么规定的。GCC编译器应该是通用的 |
10分 |
|
5分 |
char text[80];
text = “This is not valid.”; 作为数组存储 必须要有存储的下标; 而char text[80]=”this is oK”这个其实是做了两个动作 就是定义一个数组变量并且初始化数组. 第一句话如果这样写 应该是对的 char text[80]; text[0] = “This is not valid.”; 这样就会是对的. |
5分 |
回复的内容404了吗?
|
5分 |
貌似是有点问题
我也觉得有点纠结了。貌似在VC编辑器中是可行的。 |
5分 |
我终于弄明白了
char text[80]; 其实这句话是有问题的。text这个时候只是代表一个 地址常量,而不是一个指针变量 如果要给text赋值的话,右边应该是一个装有 地址的变量或者 地址常量 楼上给的那个网站,很有用。 我也学习了 |
char text[80];
的text是常量。 |