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

程序员怎么做网站赚钱如何建设网站论文文献

程序员怎么做网站赚钱,如何建设网站论文文献,wordpress抖音插件,手机端怎样做网站建设全文目录: 开篇语前言一、C语言内存函数1. **malloc 函数**语法:示例代码: 2. **calloc 函数**语法:示例代码: 3. **realloc 函数**语法:示例代码: 4. **free 函数**语法:示例代码&a…

全文目录:

    • 开篇语
    • 前言
    • 一、C语言内存函数
      • 1. **`malloc` 函数**
        • 语法:
        • 示例代码:
      • 2. **`calloc` 函数**
        • 语法:
        • 示例代码:
      • 3. **`realloc` 函数**
        • 语法:
        • 示例代码:
      • 4. **`free` 函数**
        • 语法:
        • 示例代码:
    • 二、大小端字节序
      • 1. **字节序(Endianness)**
      • 2. **大端字节序(Big Endian)**
      • 3. **小端字节序(Little Endian)**
      • 4. **如何判断字节序**
        • 示例代码:
      • 5. **字节序的影响**
    • 三、总结
    • 文末

开篇语

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

  在C语言编程中,内存管理是非常重要的一个概念。C语言提供了许多与内存操作相关的函数,帮助程序员在运行时动态地管理内存。此外,计算机系统通常有两种不同的字节序(大小端字节序),这对我们理解数据如何在内存中存储和传输至关重要。在这篇文章中,我们将深入探讨C语言中的内存函数以及大小端字节序。


一、C语言内存函数

C语言通过标准库提供了许多函数,用于动态分配、释放、复制和设置内存。常用的内存函数有:malloccallocreallocfreememcpy 等。

1. malloc 函数

malloc(memory allocation)函数用于动态分配指定字节数的内存。

语法:
void* malloc(size_t size);
  • 参数size 是要分配的字节数。
  • 返回值:返回一个指向分配内存块的指针。如果分配失败,返回 NULL
示例代码:
#include <stdio.h>
#include <stdlib.h>int main() {int* ptr = (int*)malloc(5 * sizeof(int));  // 分配5个int类型大小的内存if (ptr == NULL) {printf("内存分配失败\n");return 1;}// 使用分配的内存for (int i = 0; i < 5; i++) {ptr[i] = i + 1;printf("%d ", ptr[i]);}free(ptr);  // 释放内存return 0;
}

2. calloc 函数

calloc(contiguous allocation)函数用于分配内存并初始化为零。它与 malloc 的不同之处在于,它会将分配的内存区域初始化为零。

语法:
void* calloc(size_t num, size_t size);
  • 参数num 是要分配的元素数量,size 是每个元素的大小。
  • 返回值:返回一个指向分配内存块的指针。如果分配失败,返回 NULL
示例代码:
#include <stdio.h>
#include <stdlib.h>int main() {int* ptr = (int*)calloc(5, sizeof(int));  // 分配5个int类型大小的内存并初始化为零if (ptr == NULL) {printf("内存分配失败\n");return 1;}// 使用分配的内存for (int i = 0; i < 5; i++) {printf("%d ", ptr[i]);  // 输出为0,因为calloc初始化了内存}free(ptr);  // 释放内存return 0;
}

3. realloc 函数

realloc(reallocation)函数用于调整已分配内存块的大小。如果原始内存块的大小不足,可以使用此函数来重新分配一个更大的内存块。

语法:
void* realloc(void* ptr, size_t size);
  • 参数ptr 是指向已分配内存块的指针,size 是新的内存块大小。
  • 返回值:返回一个指向新分配内存块的指针,如果重新分配失败,则返回 NULL
示例代码:
#include <stdio.h>
#include <stdlib.h>int main() {int* ptr = (int*)malloc(5 * sizeof(int));  // 分配5个int类型大小的内存if (ptr == NULL) {printf("内存分配失败\n");return 1;}// 使用原始分配的内存for (int i = 0; i < 5; i++) {ptr[i] = i + 1;}// 重新分配更大的内存ptr = (int*)realloc(ptr, 10 * sizeof(int));  // 调整为10个int类型大小的内存if (ptr == NULL) {printf("内存重新分配失败\n");return 1;}// 使用重新分配后的内存for (int i = 5; i < 10; i++) {ptr[i] = i + 1;}for (int i = 0; i < 10; i++) {printf("%d ", ptr[i]);}free(ptr);  // 释放内存return 0;
}

4. free 函数

free 函数用于释放之前通过 malloccallocrealloc 分配的内存。释放内存后,指针仍然存在,但不再指向有效的内存区域,因此需要将指针设置为 NULL 来避免悬空指针问题。

语法:
void free(void* ptr);
  • 参数ptr 是指向要释放内存的指针。
示例代码:
int* ptr = (int*)malloc(5 * sizeof(int));  // 分配内存
free(ptr);  // 释放内存

二、大小端字节序

1. 字节序(Endianness)

字节序是指数据在内存中存储的顺序,特别是多字节数据类型(如intfloat等)。不同的计算机体系结构有不同的字节序规则,主要有两种类型:

  • 大端字节序(Big Endian):将数据的高字节存储在低地址位置,低字节存储在高地址位置。
  • 小端字节序(Little Endian):将数据的低字节存储在低地址位置,高字节存储在高地址位置。

2. 大端字节序(Big Endian)

在大端字节序系统中,数据的高位字节存储在低地址处,低位字节存储在高地址处。例如,假设我们有一个0x12345678的整数,它在内存中的存储方式为:

内存地址: 0x00    0x01    0x02    0x03
存储内容: 0x12    0x34    0x56    0x78

3. 小端字节序(Little Endian)

在小端字节序系统中,数据的低位字节存储在低地址处,高位字节存储在高地址处。例如,假设我们有一个0x12345678的整数,它在内存中的存储方式为:

内存地址: 0x00    0x01    0x02    0x03
存储内容: 0x78    0x56    0x34    0x12

4. 如何判断字节序

可以通过编写一个简单的C程序来判断当前系统的字节序:

示例代码:
#include <stdio.h>int main() {unsigned int num = 1;unsigned char* byte = (unsigned char*)&num;if (byte[0] == 1) {printf("小端字节序\n");} else {printf("大端字节序\n");}return 0;
}

5. 字节序的影响

字节序的不同会影响数据的存储方式,特别是在不同计算机系统之间进行数据交换时。例如,在进行网络编程时,数据通常需要使用网络字节序(大端字节序)进行传输。


三、总结

在C语言中,内存管理是一个关键的方面,使用malloccallocreallocfree等函数可以有效地分配和释放内存。此外,理解大小端字节序对于跨平台开发和网络编程非常重要,因为不同的计算机体系结构可能使用不同的字节序。

通过了解内存函数和字节序,开发者能够更好地管理内存,并编写高效且可移植的C程序。

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。


版权声明:本文由作者原创,转载请注明出处,谢谢支持!

http://www.dtcms.com/wzjs/811027.html

相关文章:

  • 苏州企业建站系统模板网站建设包括网页设计
  • 深圳一元购网站建设网络营销培训机构排名
  • 网站怎么增加页面收录wordpress 木马
  • 网赌网站怎么做免费空间备案
  • 做网站都需要哪些软硬件wordpress+站群插件
  • 曹县商城网站建设网络优化及服务的工作任务
  • 重慶网站开发深圳前十网站建设公司
  • 江苏大丰做网站百度招聘2022年最新招聘
  • psdw做网站wordpress小工具文本图标
  • 网站内链html编写新闻页面
  • 常州本地做网站的大公司做一个网站指定页面的推广
  • 广州网站营销推广设计wordpress获取文章时间
  • wap网站开发方案紫鸟超级浏览器官网下载
  • 微商的自己做网站叫什么名字网页制作三剑客指的是
  • 兰州网站建设网站建设响应式电商网站制作
  • 做网站专业公司电话qa wordpress
  • 利用ps制作网站的设计wordpress显示文章简介
  • 单位网站维护 网站建设岗位个人网站名称举例
  • 昌乐网站设计wordpress搜索框使用
  • 巴中微网站建设商城网站建设的优点
  • 网站建设好多钱关键词调整排名软件
  • 响应式地方网站wordpress优化检测
  • 活动发布类网站开发谷歌官方app下载
  • 做seo为什么要了解网站wordpress算数验证
  • 做3d效果的网站喷泉网站哪里做
  • 网站开发国际化上海公司章程在哪里下载
  • 网站开发如何洽谈客户app小程序制作平台
  • 攻击网站方法windows和linux做网站
  • 标准件网站开发网站建设的策划方案
  • joomla 企业网站模板信息管理网站开发的视频教程