char*(字符串)做函数参数出错模型分析


建立一个思想:是主调函数分配内存,还是被调用函数分配内存;

//不要相信,主调函数给你传的内存空间,你可以写。。。。。。一级指针你懂了。

但是二级指针,你就不一定懂。。。抛出。。。。。。。。。

 

void copy_str21(char *from, char *to)

{

 

         if (*NULL = '\0' || *to!=’\0’)

         {

                   Printf(“func copy_str21() err\n”);

        return;

         }

   

 

         for (; *from!='\0'; from++, to++)

         {

                   *to = *from;

         }

         *to = '\0';

}

//字符串逆序

int main()

{

         //char p[1024] ={0};

char *p  ={0}; p = NULL;

 

         char to[100];

         copy_str21(p, to);

C语言中没有你不知道的,只有你不会调

Java语言中没有你不会调的,只有你不知道 

不断修改内存指针变量



越界

越界 语法级别的越界

char buf[3] = "abc";

 




不断修改指针变量的值

越界

void copy_str_err(char *from, char *to)

{

    for (; *from!='\0'; from++, to++)

    {

       *to = *from;

    }

    *to = '\0';

    printf("to:%s", to);

    printf("from:%s", from);

}




一级指针(char *)易错模型分析






相关文章:

  • 2021-05-28
  • 2022-12-23
  • 2021-05-14
  • 2021-07-28
  • 2022-12-23
  • 2022-12-23
  • 2022-02-01
  • 2021-08-20
猜你喜欢
  • 2022-12-23
  • 2021-12-26
  • 2021-08-27
  • 2021-07-06
  • 2022-12-23
  • 2022-12-23
  • 2021-05-26
相关资源
相似解决方案