字符串指针的典型错误

来源:互联网 发布:nginx ip段访问 编辑:程序博客网 时间:2024/06/01 03:58
// 典型错误1:将一个字符串写入到一个没有初始化的指针位置int main(){    //char str[10];    //char *p = str;    char *p;  // 野指针    printf ("p = %p\n", p);    scanf ("%s", p);    return 0;}// 字符串:"hello"  字符串代表字符串的首个元素的地址int main(){    // "hello"代表这个字符串首地址,可以用char *类型的指针指向它    char *p = "hello";    int i;    for (i = 0; i< strlen(p); i++)    {        printf ("%c", *(p+i));    }    putchar('\n');    return 0;}// 典型错误2:用指针去修改字符串常量的值int main(){    // 字符串: "hello" 是一个常量,不能用指针改变它的值    // 只能拿来使用    char *p = "wello";    *p = 'h';    printf ("%s\n",p);    return 0;}