r*****8 发帖数: 2560 | 1 char *test = "abcdefghijk";
test = "abcdefghijk abcdefghijk abcdefghijk"; // 为什么编译可以通过?
// 运行正常。
// 改变指针字符串大小没问题吗?
以下是整个程序。
++++++++++++++++++++++++++++++++++++
#include
#include
void main(void)
{
char *test = "abcdefghijk";
test = "abcdefghijk abcdefghijk abcdefghijk";
// 为什么编译可以通过,并且运行正常?
return 0;
} |
c******e 发帖数: 545 | 2 没问题,你只是把字符串常量的地址赋给test。
test只是一个指针,没有分配任何空间。 |
r*****8 发帖数: 2560 | 3 十分感谢!
【在 c******e 的大作中提到】 : 没问题,你只是把字符串常量的地址赋给test。 : test只是一个指针,没有分配任何空间。
|
d****n 发帖数: 1637 | 4 正常人都不这么写,这都是interview的东西。
【在 r*****8 的大作中提到】 : 十分感谢!
|
r*****8 发帖数: 2560 | 5 正常人怎么写?我没上过C语言课,最近用到,匆匆看了一点。
怎么给字符串指针赋值才是正确方法?谷歌出来结果很乱。
如果是array字符串可以初始赋值,或者strcpy(),
正确方法怎么给字符串指针赋值?
谢谢指点!
【在 d****n 的大作中提到】 : 正常人都不这么写,这都是interview的东西。
|