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

购物网站开发程序wordpress小清新

购物网站开发程序,wordpress小清新,wordpress doc,天津seo推广软件目录 前言 一、memcpy()函数 二、memmove()函数 三、memset函数 四、memcmp()函数 总结 前言 在C语言中内存是我们用来存储数据的地址#xff0c;今天我们来讲一下C语言中常用的内存函数。 一、memcpy()函数 memcpy()函数与我们之前讲的strcpy()函数类似#xff0c;只… 目录 前言 一、memcpy()函数 二、memmove()函数 三、memset函数 四、memcmp()函数 总结 前言 在C语言中内存是我们用来存储数据的地址今天我们来讲一下C语言中常用的内存函数。 一、memcpy()函数 memcpy()函数与我们之前讲的strcpy()函数类似只不过memcpy()不单单可以用与字符串的复制可以复制内存中的各种数据类型。函数语法定义 void * memcpy ( void * destination, const void * source, size_t num ); • 函数 memcpy 从 source 的位置开始向后复制n um 个字节的数据到 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);//20为复制的字节总大小int i 0;for (i 0; i 10; i){printf(%d , arr2[i]);}return 0; } 虽然memcpy函数也可以实现重叠但是对于重叠的内存我们都是交给memmove函数来处理。 函数模拟实现 void* memcpy(void* dst, const void* src, size_t count) {void* ret dst;assert(dst);assert(src);/** copy from lower addresses to higher addresses*/while (count--) {*(char*)dst *(char*)src;dst (char*)dst 1;src (char*)src 1;}return(ret); } 由于不知道输入的数据类型我们都是一个字节一个字节开始传输的所以对地址继续强制类型转换为char *。 二、memmove()函数 memmove函数与上面memcpy函数类似只不过处理的是重叠的内存。函数语法定义 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 , arr2[i]);}return 0; } 函数的的模拟实现 有2种情况 dest在sourc之后 所以我们需要从后往前复制比如5-7 4-6 3-5 2-4 1-3这样交换就不会数据丢失。 dest在source之前 这时我们就要从前往后复制了比如3-1,4-2,5-3,6-4,7-5这样就不会覆盖之前的元素了。 void* memmove(void* dst, const void* src, size_t count) {void* ret dst;if (dst src || (char*)dst ((char*)src count)) {//从前往后复制while (count--) {*(char*)dst *(char*)src;dst (char*)dst 1;src (char*)src 1;}}else {//从后往前复制dst (char*)dst count - 1;src (char*)src count - 1;while (count--) {*(char*)dst *(char*)src;dst (char*)dst - 1;src (char*)src - 1;}}return(ret); } 三、memset函数 memset()函数的作用时给设置内存的将内存中的值以字节为单位设置成想要的内容。 函数语法定义 void * memset ( void * ptr, int value, size_t num ); #includestdio.h #includestring.hint main() {char str[] hello world;memset(str, x, 6);printf(str);return 0; } 注意由于 memset是每个字节每个字节进行设置的所以对于整型元素的设置可能达不到我们想要的效果。 #includestdio.hint main() {int a[10] {0};memset(a,1,10 );int i 0;for (i 0; i 10; i) {printf(%d , a[i]);}return 0; } 输出 我们想把整型数组元素都设置为1但是结果却不是我们想要的。因为memset函数是每个字节设置的在数组中的元素在内存中为 我们发现memset函数是每个字节都设置为1所以不是我们想要的。 四、memcmp()函数 memcmp函数比较内存中数据大小函数语法定义 int memcmp ( const void * ptr1, const void * ptr2, size_t num ); • 比 较从 ptr1 和 ptr2 指针指向的位置开始向后的 num 个字节 • 返回值如下 函数模拟实现 int my_memcmp(const void* ptr1, const void* ptr2, size_t num){assert(ptr1 ptr2);char* p1 ptr1;char* p2 ptr2;size_t count num;while (*p1*p2){if (num count) {break;}if (*p1 \0);return 0;p1;p2;count;} return *p1 -*p2; } 总结 上述文章讲了一些与内存有关的函数希望对你有所帮助。
http://www.hkea.cn/news/14499569/

相关文章:

  • 莆田网站建设公司网页编辑器中文版
  • 湖北广盛建设集团网站做调查的网站知乎
  • 电影网站可以备案吗wordpress定时发布没用
  • 南阳东莞网站建设公司哪家好施工企业资质分为哪些
  • 做网站一月工资南昌seo排名外包
  • 兴义网站建设本溪食品 中企动力提供网站建设
  • 永嘉网站制作公司电商直播app开发
  • 网站设计就业压力ui设计师职业规划
  • 苏州建设公司网站建设高水平 专业 建设 网站
  • 赣州网站建设新闻做网站平台需要多少钱
  • 龙华网站建设的软件湖南省住房建设厅网站
  • 免费视频素材网站哪个最好做网站需要icp经营许可证
  • wordpress主题中心开发wordpress目录seo
  • 如何做网站泛目录解析安卓app用什么语言开发
  • 深圳网站建设..wordpress大学模板
  • 如何提高网站加载速度慢怎样用电脑做网站
  • 深圳最好的营销网站建设公司网站建设费属于广告费用吗
  • 有什么网站可以帮人做模具吗做的网站
  • 关于做网站的保山市住房和城上建设局网站
  • 成都多享网站建设公司网站建设进度总结
  • 腾讯云如何做网站黄冈论坛遗爱网贴吧
  • 怎样做网站优化 知乎wordpress管理邮件
  • 网站数据库问题seo关键词推广优化
  • 网站建设哪家好推荐万维科技做一个网站分析应该怎么做
  • 杭州网站seo推广软件企业型网站建设方案
  • 鹤壁市住房和城乡建设局网站郑州网站建设公司
  • 邢台地区网站建设优化推广网站排名
  • 佛山建设网站公司wordpress 投稿 标签
  • 去哪里学习建设网站昆山网站建设怎么样
  • 深圳分销网站设计电话做模型找三视图那些网站