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

C/C++ char类型字符串直接赋值与分配内存赋值的区别

1、直接赋值

char* direct_assign = "Hello World!";
std::cout << "直接赋值: " << direct_assign << std::endl;

指针 str 直接指向存储在‌只读内存区‌(常量区)的字符串字面值,其对应的字符串为常量,无法修改字符串的值;

2、分配堆内存后赋值

#include <cstring>
#include <cstdlib>char* heap_alloc = (char*)malloc(20 * sizeof(char));
strcpy(heap_alloc, "Hello World!");
std::cout << "堆分配: " << heap_alloc << std::endl;

使用malloc或者new申请的内存为堆内存,可以直接修改串的值,如:

// 允许修改堆分配的内容
heap_alloc[0] = 'h';
heap_alloc[6] = 'w';
std::cout << "修改后堆分配: " << heap_alloc << std::endl;

堆内存使用过后需要手动释放内存

free(heap_alloc);

3、分配栈内存后赋值

char stack_array[20] = "Hello World!";
std::cout << "栈数组: " << stack_array << std::endl;

栈上分配内存不用显式的内存申请,且可以直接修改串的值,如:

// 允许修改堆分配的内容
stack_array[0] = 'h';
stack_array[6] = 'w';
std::cout << "修改后栈内存分配: " << stack_array << std::endl;
http://www.dtcms.com/a/575034.html

相关文章:

  • apache 建立网站优化网站搜索排名
  • 再论大模型不能通向AGI
  • 手机网站 动态 页面 好 静态页面好养猪网站建设规划书
  • 用 C 语言实现的回调函数案例,涵盖基础用法及不同消息机制(GUI 模拟、网络请求模拟、状态机、消息队列)
  • wordpress站群软件带网站的图片素材
  • 营销管理网站东莞市微客巴巴做网站
  • 龙华网站(建设信科网络)基层建设期刊在哪个网站上检索
  • PLCSIM影响我们的Ssh通信
  • 修文县生态文明建设局网站通号建设集团有限公司
  • 杭州开发区网站建设php网站作业模版
  • 网站菜单样式网站的例子
  • 嘉兴网站建议wordpress 编辑器 视频
  • 成品网页网站本地专业app开发公司在哪里
  • 清苑区建设局网站wordpress恢复主题初始值
  • 亿网行网站建设114企业网网站架构软件
  • 网站组织结构图深圳市建设交易网站
  • 做网站和seo流程南宁建设网站培训
  • 系列文章<八>(从LED显示屏的Gamma过曝问题问题到手机影像):从LED冬奥会、奥运会及春晚等大屏,到手机小屏,快来挖一挖里面都有什么
  • 【咨询】Android Studio 第三方手机模拟器对比【202511】
  • 服装类的网站建设营销型网站定做
  • a5建站长宁免费网站制作
  • 做企业网站找谁全自动行业管理系统
  • ubuntu下安装transition_amr_parser
  • 理财网站开发成都市区必去的景点
  • 网站 建设 网站设计公司微信运营是做什么的
  • 网站建设运营案例自行车网站模板
  • 网站开发公司经营范围怎么写app和手机网站的区别是什么
  • 基础微网站开发可信赖朝阳发布
  • 宜兴建设公司网站设计师交流平台有哪些
  • 制作一个网站怎么做的in word in the wordpress