当前位置: 首页 > news >正文

网站搭建维护淄博怎么自己刷推广链接

网站搭建维护淄博,怎么自己刷推广链接,做网赌需要在哪些网站投广告,网络服务器可提供的常见服务哪四个memcpy使⽤和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 这个函数在遇到 \0 的时候并不会停下来。 如果source和destination有任何的重叠&am…

memcpy使⽤和模拟实现

void * memcpy ( void * destination, const void * source, size_t num );

函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。

这个函数在遇到 '\0' 的时候并不会停下来。

如果source和destination有任何的重叠,复制的结果都是未定义的。

使用

#include <stdio.h>
#include <string.h>
int main()
{int arr1[] = { 1,2,3,4,5,6,7,8,9,10 };int arr2[10] = { 0 };memcpy(arr2, arr1, 20);int i = 0;for (i = 0; i < 10; i++){printf("%d ", arr2[i]);}return 0;
}

拷贝结束后返回目标空间的起始地址

模拟实现

#include <string.h>
#include <stdio.h>
#include<assert.h>
void* my_memcpy(void* dst, const void* src, size_t count)
{void* ret = dst;assert(dst);assert(src);while (count--) {*(char*)dst = *(char*)src;dst = (char*)dst + 1;src = (char*)src + 1;}return(ret);
}
int main()
{int arr1[] = { 1,2,3,4,5,6,7,8,9,10 };int arr2[10] = { 0 };my_memcpy(arr2, arr1, 20);int i = 0;for (i = 0; i < 10; i++){printf("%d ", arr2[i]);}return 0;
}

memmove 使和模拟实现

void * memmove ( void * destination, const void * source, size_t num );

和memcpy的差别就是memmove函数处理的源内存块和⽬标内存块是可以重叠的。
如果源空间和⽬标空间出现重叠,就得使⽤memmove函数处理。

使用

#include <stdio.h>
#include <string.h>
int main()
{int arr1[] = { 1,2,3,4,5,6,7,8,9,10 };memmove(arr1+2, arr1, 20);int i = 0;for (i = 0; i < 10; i++){printf("%d ", arr1[i]);}
return 0;
}

模拟实现

分情况1

情况2

有的情况从后向前拷贝,有的从前向后拷贝,分析总结

模拟实现代码

//模拟实现memmove
//void * memmove ( void * destination, const void * source, size_t num );
#include<stdio.h>
void* my_memmove(void* dest, const void* source, size_t num)
{void* ret = dest;if (dest < source)//dest 在src左边,从前向后拷贝{while (num--){*(char*)dest = *(char*)source;dest=(char*)dest + 1;source=(char*)source + 1;}}else {//dest 在src右边以及重合,从后向前拷贝while (num--){*((char*)dest + num) = *((char*)source + num);}}return ret;
}
int main()
{int arr[] = { 1,2,3,4,5,6,7,8,9,10 };for (int i = 0; i < 10; i++){printf("%d ", arr[i]);}printf("\n");my_memmove(arr + 2, arr, 20);for (int i = 0; i < 10; i++){printf("%d ", arr[i]);}return 0;
}

结果

memset 函数的使⽤

memset是⽤来设置内存的,将内存中的值 以字节为单位 设置成想要的内容。
void * memset ( void * ptr, int value, size_t num );

使用

#include <stdio.h>
#include <string.h>
int main ()
{char str[] = "hello world";memset (str,'x',6);printf(str);return 0;
}
输出的结果:
  xxxxxxworld

memcmp 函数的使⽤

⽐较从ptr1和ptr2指针指向的位置开始,向后的num个字节   

与str系类相似但是sy=tr系类只能比较字符串

int memcmp ( const void * ptr1, const void * ptr2, size_t num );

使用,此函数比较内存块,任何类型都可以不受限制

与str系类相似但是sy=tr系类只能比较字符串

#include <stdio.h>
#include <string.h>
int main()
{char buffer1[] = "DWgaOtP12df0";char buffer2[] = "DWGAOTP12DF0";int n;n = memcmp(buffer1, buffer2, sizeof(buffer1));if (n > 0) printf("'%s' is greater than '%s'.\n", buffer1, buffer2);else if (n < 0) printf("'%s' is less than '%s'.\n", buffer1, buffer2);elseprintf("'%s' is the same as '%s'.\n", buffer1, buffer2);return 0;
}

http://www.zhongyajixie.com/news/8790.html

相关文章:

  • 公司网站备案多少钱tool站长工具
  • 哪里有做图片的网站百度拍照搜题
  • 微信网站怎么做的好名字一站式营销平台
  • 乐山住房和城乡建设厅网站小视频关键词汇总
  • 哪个网站的财经做的好知乎舆情信息网
  • 性病医院网站优化服务商淄博seo公司
  • 惠州市建设局网站办事指南aso苹果关键词优化
  • 做爰网站爱情岛网络推广方法有几种
  • 做网站需要做优化吗seo网站推广助理招聘
  • html做网站的设计网络推广和网站推广
  • 服装网站建设如何解决产品推广策划书
  • 哪里有营销型网站制作百度seo效果
  • 西安网站建设中企建站免费seo推广软件
  • seo网站排名软件网站广告接入
  • 景区网站建设的好处手机怎么创建网站
  • 西安俄语网站建设成都网站优化排名
  • 建设网站费用如何做账网络推广公司有哪些
  • 已有网站做移动网站百度收录在线提交
  • 网站这么做2021年度关键词有哪些
  • 网站生成系统源码如何在百度打广告
  • 常州专业房产网站建设seo长尾快速排名
  • 成都建网站的公司成都网站seo技术
  • 做网站公司平台数字营销包括哪六种方式
  • 如何学习网站制作网站seo关键词排名优化
  • 同个ip不同端口做网站好深圳宝安seo外包
  • 广州荔湾做网站的公司百度指数的使用方法
  • 预约网站怎么做码迷seo
  • 如何制作一个优秀网站建设百度云客服人工电话
  • 如何让别人网站降权seo提高关键词
  • 后湖做网站如何用html制作一个网页