str[] 与 *str 对字符串的引用操作
我倒,对字符串的操作老毛病又犯了! 看样子是记不住,哇哈哈! 留个脚印!
char str[] = "abcd";
char *str = "abcd" ;
//记录不同引用串的操作方法!
char str[] 引用串时char *str = "abcd" ;
//记录不同引用串的操作方法!
1: 不要对str进行赋值操作。
str++;
str = p //char *p
str是地址常量
2: 可以通过str修改串的字符。str = p //char *p
str是地址常量
str[2] = 'B';
*str = 'A';
*(str+2) = 'C';
*(str+1) = *(str+3);
总之一句话,可以通过str的移动,对串进行修改!
*str = 'A';
*(str+2) = 'C';
*(str+1) = *(str+3);
总之一句话,可以通过str的移动,对串进行修改!
3:借用字符指针实现对str++的操作。
char *p = str;
*p++ = 'A';
*(p+2) = *++p = 'X';
//便捷的操作!较常用。
*p++ = 'A';
*(p+2) = *++p = 'X';
//便捷的操作!较常用。
char *str 引用串时:
1: 不可通过str修改串,串是静态的,不能做更新!
*str = 'A'; //运行时发生错误!
str 引用的串是常量,不能改串。
2: 呵呵,通过str++对串进行引用str 引用的串是常量,不能改串。
str++; //引用串操作
*str = *++str; //别用顺手喽,犯错误X 老是会这样赋值,要调试半天哟!
*str = *++str; //别用顺手喽,犯错误X 老是会这样赋值,要调试半天哟!
我常常这样赋值,死球球!
目前发现的,记录在这儿!
各位:有错误请留言; 您有操作上的技巧,喝杯水,抽支烟!告诉我!