zzy-c

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  84 随笔 :: 0 文章 :: 0 评论 :: 12084 阅读
复制代码

复制代码

复制代码

复制代码

复制代码
#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<assert.h>
//把src指向的内容拷贝放进dest指向的空间中
//从本质上讲,希望dest指向的内容被修改,src指向的内容不应该被修改
void my_strcpy(char* dest, const char* src)
{
    assert(src != NULL);//断言
    assert(dest != NULL);//断言

    while (*dest++ = *src++)
    {
        ;//hello的拷贝
    }
}
int main()
{
    char arr1[20] = "xxxxxxxxxxxx";
    char arr2[] = "hello";
    my_strcpy(arr1, arr2);//1.目标空间的起始地址。2.源空间的起始地址
    printf("%s\n", arr1);
    return 0;
}
复制代码

 

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

int main()
{
    //const 修饰变量,这个变量称为常变量,不能被修改,本质上还是变量
     const int num = 10;
     //num = 20;//err
     /**************************/
     int* const p = &num;
     int n = 100;
     //const 修饰指针变量的时候
     //const 如果放在*的右边,修饰的指针变量p,表示指针变量不能被改变
     //但是指针指向的内容,可以被改变
     //int* pb = p;
     *p = 20;
     //p = &n;

    /***************************/
     //const int* p = &num;
     //int n = 100;
     //const 修饰指针变量的时候
     //const 如果放在*的左边,修饰的是*p,表示指针指针指向的内容,是不能通过指针能改变
     //但是指针变量本身是可以修改的
     //int* pb = p;
     //*pb = 20;
     //p = &n;
     

    printf("%d\n", num);

    return 0;
}
复制代码

 

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<string.h>
#include<assert.h>
//模拟实现strcpy
void my_strcpy(char* dest, char* str)
{
    assert(str != NULL);//断言
    while (*dest++ = *str++)
    {
        ;//hello的拷贝
        //dest++;
        //str++;
    }
    //*dest = *str;//'\0的拷贝'
}
int main()
{
    char arr1[20] = "xxxxxxxxxx";
    char arr2[] = "hello";

    my_strcpy(arr1, arr2);//1.目标空间的起始地址 2.原空间的起始地址
    printf("%s ", arr1);
    return 0;
}
复制代码

 

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<string.h>

//模拟实现strcpy
void my_strcpy(char* dest, char* str)
{
    while (*str != '\0')
    {
        *dest++ = *str++;//hello的拷贝
        //dest++;
        //str++;
    }
    *dest = *str;//'\0的拷贝'
}
int main()
{
    char arr1[20] = "xxxxxxxxxx";
    char arr2[] = "hello";

    my_strcpy(arr1, arr2);//1.目标空间的起始地址 2.原空间的起始地址
    printf("%s ", arr1);
    return 0;
}
复制代码

 

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
#include<string.h>

//模拟实现strcpy
void my_strcpy(char* dest, char* str)
{
    while (*str != '\0')
    {
        *dest = *str;
        dest++;
        str++;
    }
    *dest = *str;
}
int main()
{
    char arr1[20] = "xxxxxxxxxx";
    char arr2[] = "hello";

    my_strcpy(arr1, arr2);//1.目标空间的起始地址 2.原空间的起始地址
    printf("%s ", arr1);
    return 0;
}
复制代码

 

posted on   zzy_C  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示