不等价, 原因是前者的字符串"Program"是个常量, 而后者是个变量, 常量不可改变, 比如你这样:
char*str="Program"
*str = '1';
就会引起runtime error;
后者就没问题;
所以定义指针指向常量字符串的时候最好这样:
const char* str="Program";
不等价.前者占8个字符.后者占7个字符.
不等价,但是原因不是因为字符个数,这2个定义方法的结果都是8个字符
原因在于一个是指针,一个是数组
后者可以用str[i]的方式访问,前者不行
前者指针可以移动,比如str++,后者不行
不等价,前一个是指针,后一个是数组。
后者可以用str[i]的方式访问,前者不行
前者指针可以移动,比如str++,后者不行
前一个使用灵活,
建议你用指针,指针的使用是灵活多样的,是C语言的灵魂