1 数组指向某个字符串是可改的,指针指向某个常量字符串是不可改的,但是编译器不会发现这个问题。
char a[] = "hello";
a[0] = 'x';//ok
char * p = "hello";//hello在常量储存区
p[0] = 'x';//编译器不认为有问题,运行时报错
2 数组不能直接用赋值号赋值,报错 p = a
指针可以赋值,单赋值的是首地址。
3 sizeof(数组) 可以得到数组的大小
sizeof(指针) 得到4 指针的大小
1 数组指向某个字符串是可改的,指针指向某个常量字符串是不可改的,但是编译器不会发现这个问题。
char a[] = "hello";
a[0] = 'x';//ok
char * p = "hello";//hello在常量储存区
p[0] = 'x';//编译器不认为有问题,运行时报错
2 数组不能直接用赋值号赋值,报错 p = a
指针可以赋值,单赋值的是首地址。
3 sizeof(数组) 可以得到数组的大小
sizeof(指针) 得到4 指针的大小