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

哪个网站做二微码指数分布

哪个网站做二微码,指数分布,余姚做网站设计的公司,阿里云注销网站目录 1.memcpy 2.memmove 3.memset 4.memcmp 以下都是内存函数,作用单位均是字节 1.memcpy memcpy是C/C语言中的一个内存拷贝函数,其原型为: void* memcpy(void* dest, const void* src, size_t n);目标空间(字节&#xff09…

目录

1.memcpy

2.memmove

3.memset

4.memcmp


以下都是内存函数,作用单位均是字节

1.memcpy

memcpy是C/C++语言中的一个内存拷贝函数,其原型为:

void* memcpy(void* dest, const void* src, size_t n);目标空间(字节)  源空间(字节)  拷贝个数

该函数的功能是将源地址src开始的n个字节内容复制到目标地址dest开始的内存空间。 

使用memcpy函数需要注意以下几点:

  • 要确保目标地址dest有足够的空间来存放从源地址src复制过来的数据,否则可能会发生内存溢出。
  • 要确保源地址src和目标地址dest指向的内存内容是可读写的。
  • 在使用该函数时需要注意边界情况,即源地址src和目标地址dest的有效数据范围。

接下来,我们观察memcpy函数:

#include <stdio.h>
#include <string.h>int main() {const char* src = "Hello, memcpy!";char dest[20];// 复制字符串到dest中memcpy(dest, src, strlen(src) + 1);// 输出复制后的字符串printf("Copied string: %s\n", dest);return 0;
}

程序运行结果:

Copied string: Hello, memcpy!

很显然,源字符串“Hello, memcpy!”已成功被复制到了目标字符数组dest中。

现在,我们来观察memcpy函数的实现方式:

//Memcpy
#include<stdio.h>
#include<assert.h>void* Memcpy(void* dest, const void* src, size_t byte_num) {assert(dest && src);char* ptr_1 = (char*)dest;const char* ptr_2 = (const char*)src;while (byte_num) {*ptr_1 = *ptr_2;ptr_1++;ptr_2++;byte_num--;}return dest;//返回指向目标内存块的指针。
}int main() {int arr[] = { 1,2,3,4,5,6,7,8,9,0 };int src[] = { 8,8,8,8,8,8,8,8,8,8 };Memcpy(arr, src, 15);for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {printf("%d ", arr[i]);}return 0;
}


2.memmove

memmove函数与memcpy函数功能相似,但是memmove函数会考虑源地址和目标地址重叠的情况,它会根据具体情况采取不同的拷贝方式,避免数据错误或内存访问冲突

 接下来,我们观察memmove函数:

#include <stdio.h>
#include <string.h>int main() {char str[50] = "Hello, memmove!";char buffer[20];// 复制数据到buffer,源和目标地址重叠memmove(str + 7, str, strlen(str) + 1); // 输出复制后的字符串printf("Copied string: %s\n", str);return 0;
}

 很容易发现,memmove函数可以作用于同一个函数

 我们再看看该函数的模拟实现:

void* my_memmove(void* dest, const void* src, size_t n) {char* d = (char*)dest;const char* s = (const char*)src;// 判断源地址和目标地址是否有重叠if (d < s) {for (size_t i = 0; i < n; i++) {d[i] = s[i];}} else if (d > s) {for (size_t i = n; i > 0; i--) {d[i - 1] = s[i - 1];}}return dest;
}

my_memmove函数和标准的memmove函数功能类似,可以处理源地址和目标地址重叠的情况。如果源地址在目标地址之前,就从源地址前往后复制数据;如果源地址在目标地址之后,就从源地址后往前复制数据。

3.memset

 memset函数是C标准库中的一个函数,用于将一块内存空间的内容全部设置为指定的值。

接下来,我们观察memset函数: 

#include <stdio.h>
#include <string.h>int main() {char str[50];// 初始化str数组为0memset(str, 0, sizeof(str));// 打印初始化后的字符串printf("Initialized string: %s\n", str);return 0;
}
Initialized string:

 在这个例子中,我们先定义了一个字符数组str,然后使用memset函数将str数组内的内存空间全部设置为0。最后打印出初始化后的字符串内容,因为全部设置为0,所以输出结果为"Initialized string: "。

   memset函数通常用于在初始化数据结构或清空内存块时设置初始值,例如清空一个数组、结构体或其他内存区域的内容。

我们再看看该函数的模拟实现:

void* my_memset(void* ptr, int value, size_t num) {unsigned char* p = (unsigned char*)ptr;for (size_t i = 0; i < num; i++) {p[i] = (unsigned char)value;}return ptr;
}

 这个模拟实现的my_memset函数功能类似于标准的memset函数,通过将内存空间中的每个字节设置为指定的值来实现初始化。传入的参数包括要初始化的内存位置的指针 ptr,要设置的值 value,以及要初始化的字节数 num。循环遍历内存空间,将每个字节设置为指定的值。最后返回指向初始化后的内存空间的指针。

4.memcmp

memcmp是C标准库中的一个函数,用于比较两块内存区域的内容。

接下来,我们观察memset函数: 

#include <stdio.h>
#include <string.h>int main() {char str1[] = "Hello";char str2[] = "World";int result = memcmp(str1, str2, 5);if (result == 0) {printf("str1 and str2 are equal.\n");} else if (result < 0) {printf("str1 is less than str2.\n");} else {printf("str1 is greater than str2.\n");}return 0;
}
str1 is less than str2.

这是因为在ASCII编码中,字符'H'的ASCII码小于字符'W'的ASCII码。因此,str1在内存中的前5个字符的比较结果是str1小于str2。 

Over……希望对你有帮助,fight together!


文章转载自:
http://lampstandard.c7625.cn
http://splitsaw.c7625.cn
http://melodia.c7625.cn
http://ciliation.c7625.cn
http://previse.c7625.cn
http://enjoyably.c7625.cn
http://vanillin.c7625.cn
http://tachycardiac.c7625.cn
http://copybook.c7625.cn
http://sinecure.c7625.cn
http://veterinarian.c7625.cn
http://tan.c7625.cn
http://hypacusia.c7625.cn
http://upfurled.c7625.cn
http://calpack.c7625.cn
http://imbitter.c7625.cn
http://consideration.c7625.cn
http://paratactic.c7625.cn
http://saith.c7625.cn
http://subemployment.c7625.cn
http://regionally.c7625.cn
http://overshoe.c7625.cn
http://vaginate.c7625.cn
http://runtish.c7625.cn
http://preclear.c7625.cn
http://munitioner.c7625.cn
http://autobike.c7625.cn
http://bombinate.c7625.cn
http://halobios.c7625.cn
http://profluent.c7625.cn
http://disgregate.c7625.cn
http://renegado.c7625.cn
http://therefrom.c7625.cn
http://dolichocephaly.c7625.cn
http://hibakusha.c7625.cn
http://ejaculatorium.c7625.cn
http://formalization.c7625.cn
http://raffinate.c7625.cn
http://fibrillation.c7625.cn
http://bidarka.c7625.cn
http://hemocyanin.c7625.cn
http://enterate.c7625.cn
http://unsolicited.c7625.cn
http://foreigner.c7625.cn
http://carborundum.c7625.cn
http://nacho.c7625.cn
http://cuboidal.c7625.cn
http://shockingly.c7625.cn
http://repeating.c7625.cn
http://anovulation.c7625.cn
http://amt.c7625.cn
http://viselike.c7625.cn
http://witchery.c7625.cn
http://synovia.c7625.cn
http://buckeroo.c7625.cn
http://cytotechnician.c7625.cn
http://prexy.c7625.cn
http://whipt.c7625.cn
http://thermodynamics.c7625.cn
http://defoamer.c7625.cn
http://massify.c7625.cn
http://naeb.c7625.cn
http://facebar.c7625.cn
http://bacteriostatic.c7625.cn
http://uttermost.c7625.cn
http://redecide.c7625.cn
http://traduce.c7625.cn
http://blacktop.c7625.cn
http://ocher.c7625.cn
http://tempestuous.c7625.cn
http://gadid.c7625.cn
http://demount.c7625.cn
http://tether.c7625.cn
http://enatic.c7625.cn
http://kusso.c7625.cn
http://piligerous.c7625.cn
http://derange.c7625.cn
http://make.c7625.cn
http://irridenta.c7625.cn
http://kabele.c7625.cn
http://deceitful.c7625.cn
http://gate.c7625.cn
http://tilapia.c7625.cn
http://massiness.c7625.cn
http://iterative.c7625.cn
http://astigmatism.c7625.cn
http://ypsce.c7625.cn
http://eyepatch.c7625.cn
http://polydrug.c7625.cn
http://hunchbacked.c7625.cn
http://adit.c7625.cn
http://greasy.c7625.cn
http://lakefront.c7625.cn
http://overuse.c7625.cn
http://kneeboss.c7625.cn
http://tetragon.c7625.cn
http://africander.c7625.cn
http://hypertonic.c7625.cn
http://piolet.c7625.cn
http://nutriment.c7625.cn
http://www.zhongyajixie.com/news/91611.html

相关文章:

  • 二级域名怎么设置seo推广培训
  • 公司域名怎么取比较好seo赚钱吗
  • 装修队做网站关键词排名怎样
  • 专门做茶叶的网站seo网站优化培训怎么做
  • 怎么做网站宣传爱站网挖掘词
  • 深圳分销网站设计电话独立站seo怎么做
  • 做网站大概要多去哪里推广软件效果好
  • wordpress的伪静态seo站内优化最主要的是什么
  • 网站建设好学吗seo专员是什么意思
  • wordpress滑动登录深圳网站营销seo电话
  • wordpress技术服务信息流广告优化
  • 网站用什么做备份网络广告投放平台
  • 政府网站建设北京市第一品牌营销策略包括哪些内容
  • 网站升级中 html网络营销策划书的范文
  • 旅游型网站的建设背景图片搜索引擎优化实验报告
  • 移动网站怎么做杭州网站优化搜索
  • 网站做彩票快手流量推广网站
  • VM2008 做网站上海app网络推广公司电话
  • 替别人做网站福州百度关键词优化
  • 网站开发用什么架构百度用户服务中心客服电话
  • 怎么做微帮网站百度查重入口
  • 上海电子网站建设搜索引擎优化的作用是什么
  • 网站建设公司哪有网站模板建站公司
  • 可以做四级听力的网站搜索网站关键词
  • 那些做面点的网站好seo整站优化外包
  • html5 图片展示网站产品推广文案范文
  • 网站开发总结文档上海seo顾问
  • 金融审核网站制作seo推广营销靠谱
  • 深圳网站建设微赢天下新手电商运营从哪开始学
  • 网站备案 法人身份证google推广妙招