zoukankan      html  css  js  c++  java
  • 内存操作函数

    #define CRT_SECURE_NO_WARNINGS
    #pragma warning(disable:4996)
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<math.h>
    #include<time.h>

    int main0101()

    {

    //堆空间重置:memset()重置内存空间的值;memset依靠二进制进行初始化,如int为4个字节,memset把每个字节都赋值

    //0000 0000 0000 0000:0      1111 1111 1111 1111:-1

      int*p=(int*)malloc(sizeof(int)*10);

    //只能重置0或-1

      memset(p,0,sizeof(int)*10);  

      memset(p,-1,sizeof(int)*10);

      for(int i=0;i<10;i++)

      {

        printf("%d ",p[i]);

      }

      free(p);

      return EXIT_SUCCESS;

    }

    int main0102(void)

    {

    //memcpy()内存拷贝:拷贝的内容和字节有关

      int arr[]={1,2,3,4,5,6,7,8,9,10};

      int*p=(int*)malloc(sizeof(int)*10);

      memcpy(p,arr,sizeof(int)*10);

      for(i=0;i<10;i++)

      {

        printf("%d ",p[i]);

      }

      free(p);

    //strcpy()字符串拷贝:遇停止

      char ch[]="hello world";  

      char str[100];

      strcpy(str,ch);

      printf("%s ",str);

    //如果拷贝的源和目标发生重叠,可能会报错

      int arr[]={1,2,3,4,5,6,7,8,9,10};

      memcpy(&arr[5],&arr[3],20);

      for(int i=0;i<10;i++)

      {

        printf("%d ",arr[i]);//1 2 3 4 5 4 5 6 7 8

      }

    //memmove()功能用法和memcpy一样,区别在于:dest和src所指的内存空间重叠时,mommove仍然能处理,但是执行效率比memcpy低

      int arr[]={1,2,3,4,5,6,7,8,9,10};

      memcpy(&arr[5],&arr[3],20);

      for(int i=0;i<10;i++);

      {

        printf("%d ",arr[i]);

      }

      return 0;

    }

    int main(void)

    {

    //strcmp()只比较之前的内容

    //momcmp():比较输入的字节里的内容

    //比较字符数组

      //int arr1[]={1,2,3,4,5,6,7,8,9,10};

      //int arr2[]={1,2,3,4,5,6};

    //比较字符串

      char arr1[] = "hello warld";

      char arr1[] = "hello world";

      int value=memcmp(arr1,arr2,13);

      printf("%d ",value);

      return 0;

    }

  • 相关阅读:
    git各种操作:基本操作 and 多人协作 and 冲突解决
    mini-ndn0.5.0 安装教程 (避免踩坑)
    ubuntu18.04 更换镜像源
    自定义日志轮转
    linux常用命令
    Thinkphp6 + uniapp框架,接口访问跨域问题
    机器学习-主成分分析PCA与奇异值分解SVD
    机器学习-数据预处理&特征工程
    机器学习-梯度提升树(xgboost)
    github打不开怎么办
  • 原文地址:https://www.cnblogs.com/wanghong19991213/p/13651427.html
Copyright © 2011-2022 走看看