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

做外贸生意是不是需要建网站企业网站seo贵不贵

做外贸生意是不是需要建网站,企业网站seo贵不贵,河北建设执业信息网,政府网站建设规范及标准目录 1、memcpy函数 memcpy函数的模拟实现 2、memmove函数 memmove函数的模拟实现 3、memset函数 4、memcmp函数 1、memcpy函数 描述: C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字节到存储区 str1。 声明&…

目录

1、memcpy函数

memcpy函数的模拟实现

2、memmove函数

memmove函数的模拟实现

3、memset函数

4、memcmp函数


1、memcpy函数

描述:

C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字节到存储区 str1

声明:

void *memcpy(void *str1, const void *str2, size_t n)

参数:

  • str1 -- 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。
  • str2 -- 指向要复制的数据源,类型强制转换为 void* 指针。
  • n -- 要被复制的字节数。

返回值:

该函数返回一个指向目标存储区 str1 的指针。

用法:

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

结果:

memcpy函数的模拟实现

#include <stdio.h>
#include <string.h>
#include <assert.h>void* my_memcpy(void* str1, void* str2, size_t n)
{void* ret = str1;assert(str1 != NULL);assert(str2 != NULL);while (n--){*(char*)str1 = *(char*)str2;//将str2的字符赋给str1str1 = (char*)str1 + 1;//跳到下一个字节str2 = (char*)str2 + 1;//跳到下一个字节}return ret;
}
int main()
{int arr1[] = { 1,2,3,4,5,6,7,8,9,10 };int arr2[20] = { 0 };my_memcpy(arr2, arr1, 20);//20 字节数int i = 0;for (i = 0; i < 20; i++){printf("%d ", arr2[i]);}return 0;
}

这里不能写成str1++,因为str1是void*指针。也不能写成(char*)str1++,因为强转是临时的,但是可以这样写,((char*)str1)++。 

结果:

 

2、memmove函数

和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的。

如果原空间和目标空间出现重叠,就得使用memmove函数处理。

描述:

C 库函数 void *memmove(void *str1, const void *str2, size_t n) 从 str2 复制 n 个字符到 str1,但是在重叠内存块这方面,memmove() 是比 memcpy() 更安全的方法。如果目标区域和源区域有重叠的话,memmove() 能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中,复制后源区域的内容会被更改。如果目标区域与源区域没有重叠,则和 memcpy() 函数功能相同。

声明:

void *memmove(void *str1, const void *str2, size_t n)

参数:

  • str1 -- 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。
  • str2 -- 指向要复制的数据源,类型强制转换为 void* 指针。
  • n -- 要被复制的字节数。

返回值:

该函数返回一个指向目标存储区 str1 的指针。

用法:

#include <stdio.h>
#include <string.h>int main()
{const char dest[] = "oldstring";const char src[] = "newstring";printf("Before memmove dest = %s, src = %s\n", dest, dest);memmove(dest, src, 9);printf("After  memmove dest = %s, src = %s\n", dest, dest);return(0);
}

结果:

memmove函数的模拟实现

数组的地址是从低到高的

#include <stdio.h>
#include <assert.h>
void* my_memmove(void* str1, const void* str2, size_t n)
{assert(str1 != NULL);assert(str2 != NULL);void* ret = str1;if (str1 < str2){//从前向后while (n--){*(char*)str1 = *(char*)str2;str1 = (char*)str1 + 1;str2 = (char*)str2 + 1;}}else{//从后向前while (n--){*((char*)str1 + n) = *((char*)str2 + n);}}return ret;
}int main()
{int arr[] = { 1,2,3,4,5,6,7,8,9,10 };my_memmove(arr + 2, arr, 5 * sizeof(int));int i = 0;for (i = 0; i < 10; i++){printf("%d ", arr[i]);}return 0;
}

3、memset函数

描述:

C 库函数 void *memset(void *str, int c, size_t n) 用于将一段内存区域设置为指定的值。

memset() 函数将指定的值 c 复制到 str 所指向的内存区域的前 n 个字节中,这可以用于将内存块清零或设置为特定值。

在一些情况下,需要快速初始化大块内存为零或者特定值,memset() 可以提供高效的实现。

在清空内存区域或者为内存区域赋值时,memset() 是一个常用的工具函数。

声明;

void *memset(void *str, int c, size_t n)

参数:

  • str -- 指向要填充的内存区域的指针。
  • c -- 要设置的值,通常是一个无符号字符。
  • n -- 要被设置为该值的字符数。

返回值:

该值返回一个指向存储区 str 的指针。

用法:

#include <stdio.h>
#include <string.h>int main ()
{char str[50];strcpy(str,"This is string.h library function");puts(str);memset(str,'$',7);puts(str);return(0);
}

结果:

4、memcmp函数

描述:

C 库函数 int memcmp(const void *str1, const void *str2, size_t n)) 把存储区 str1 和存储区 str2 的前 n 个字节进行比较。

声明:

int memcmp(const void *str1, const void *str2, size_t n)

 参数:

  • str1 -- 指向内存块的指针。
  • str2 -- 指向内存块的指针。
  • n -- 要被比较的字节数。

返回值:

  • 如果返回值 < 0,则表示 str1 小于 str2。
  • 如果返回值 > 0,则表示 str1 大于 str2。
  • 如果返回值 = 0,则表示 str1 等于 str2。

用法:

#include <stdio.h>
#include <string.h>int main ()
{char str1[15];char str2[15];int ret;memcpy(str1, "abcdef", 6);memcpy(str2, "ABCDEF", 6);ret = memcmp(str1, str2, 5);if(ret > 0){printf("str2 小于 str1");}else if(ret < 0) {printf("str1 小于 str2");}else {printf("str1 等于 str2");}return(0);
}

结果:

str2 小于 str1

http://www.tj-hxxt.cn/news/52164.html

相关文章:

  • 网站上线 文案seo内部优化包括哪些内容
  • 小游戏网站建设公司最近一周新闻热点大事件
  • 新吴区网站建设今日最火的新闻
  • 宝应县建设工程管理局网站外贸营销策略都有哪些
  • 苏州吴江建设局招投标网站站优云seo优化
  • 网站建设及维护服务制作电商网站
  • 杭州专业做网站营销型网站的推广方法
  • dw做的网站怎么上传图片恶意点击竞价是用的什么软件
  • 用织梦做视频网站好不好哈尔滨网络seo公司
  • 关于建设网站的需求百度网络推广怎么收费
  • 自己做网站需要什么程序海南seo
  • 高校心理健康网站建设与实现海外网站推广的公司
  • 大型的seo公司镇江seo优化
  • 建立网站图片网站系统
  • 唐山网站制作有利于seo优化的是
  • 自己做网站商城需要营业执照吗百度资源提交
  • 网站开发任务深圳百度公司地址在哪里
  • 商城网站建设行情百家号权重查询站长工具
  • 宁波网站设计相信荣胜网络seo免费诊断联系方式
  • 网站建设与管理试卷A江苏建站
  • 独立做网站需要学习什么seo网络优化招聘
  • 哪里做网站最便宜沧州网站建设推广
  • 苏州品牌网站建设重庆关键词优化服务
  • 网站和管理系统哪个更难做第一推广网
  • 公司网站开发报价1元购买域名
  • 做网站需要编程么产品推广网站哪个好
  • 国外b站视频app宁波百度seo排名优化
  • 郴州网站制作公司电话百度账号登录入口
  • 企业网站一般用什么域名成都seo优化排名推广
  • 动态网站制作视频教程西安网络推广seo0515