菜鸟的困惑

sun_wx 2002-01-14 07:15:15
char* get_wellcom()
{
char temp_str[] = "hi,world!";
return temp_str;
}

char* get_prix()
{
return "hi, world!";
}
以上两种有什么区别呀?第二种是不是返回字符串常量?它是在什么内存区分配的?
我在main()函数能够取得第二个函数的返回内容。
...全文
114 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
hahaha88 2002-01-15
  • 打赏
  • 举报
回复
请紧紧盯着这一页。。。36秒。。。

。。。。。啊!!!!!。。。。。
LuoQS1 2002-01-15
  • 打赏
  • 举报
回复
应该可以得到正确的值,分配在静态数据区的常量在程序结束时被销毁
sun_wx 2002-01-15
  • 打赏
  • 举报
回复
分配在静态数据区的常量什么时候被销毁呀?
假设我在main函数中一开始就调用,然后等到main结束前才操作,还能得到它的值吗?
#include <iostream>
const char* get_prix()
{
return "hi, world!";
};
int main()
{
const char* p_str = get_prix();
...

std::cout<<p_str; //此时能得到正确的值吗?
return 0;
}
sun_wx 2002-01-15
  • 打赏
  • 举报
回复
多谢!
zhanglq76 2002-01-15
  • 打赏
  • 举报
回复
第一个计算机的处理是(vc 和 c++builder)是一样的
174: char temp_str[] = "aabbccdd";
//从数据去拷贝数据到堆栈中(值拷贝)
00401CA8 mov eax,[string "aabbccdd" (004153f0)]
00401CAD mov dword ptr [ebp-0Ch],eax
00401CB0 mov ecx,dword ptr [string "aabbccdd"+4 (004153f4)]
00401CB6 mov dword ptr [ebp-8],ecx
00401CB9 mov dl,byte ptr [string "aabbccdd"+8 (004153f8)]
00401CBF mov byte ptr [ebp-4],dl
175: return temp_str;
//返回堆栈中数据的地址
00401CC2 lea eax,[ebp-0Ch]
而堆栈在过程处理之后就被回收的
第二个则是返回数据区的地址,因此正确
晨星 2002-01-14
  • 打赏
  • 举报
回复
如果整栋楼都塌了呢?
panjet 2002-01-14
  • 打赏
  • 举报
回复

同意整栋楼的!:)

baifeng 2002-01-14
  • 打赏
  • 举报
回复
g z
Fuxiao 2002-01-14
  • 打赏
  • 举报
回复
我同意上面的第一和第三条
greening 2002-01-14
  • 打赏
  • 举报
回复
同意楼上。
return temp_str;这样做没意义的。
babyman 2002-01-14
  • 打赏
  • 举报
回复
变量的生存期问题
char temp_str[] 的空间在函数get_wellcom()返回后就被回收了。
applefly 2002-01-14
  • 打赏
  • 举报
回复
第二个前面是否应该加上一个const,变为const char* get_prix(){return "hi,world"}
favorit 2002-01-14
  • 打赏
  • 举报
回复
同意楼上的
hz129 2002-01-14
  • 打赏
  • 举报
回复
第一种返回一个临时变量的内存地址,这样使用是不正确的,如果你打印返回得到的字符串,很可能会是一串乱码
第二种返回的是一个字符串常量,分配在程序的静态数据区。
菜鸟 也会 数据分析 菜鸟也会数据分析全文共22页,当前为第1页。 数据分析概述 1 数据分析常见问题 2 3 CONTENTS 数据分析六部曲 4 常用指标及术语 菜鸟也会数据分析全文共22页,当前为第2页。 数据分析概述 1 菜鸟也会数据分析全文共22页,当前为第3页。 何谓数据分析?      what 使用适当的统计分析方法对收集来的大量数据进行分析,并将它们加以汇总,理解消化,从而得出内在规律的过程。简单来说就是提取有用信息和形成结论而对数据加以详细研究概括总结的过程。 菜鸟也会数据分析全文共22页,当前为第4页。 数据分析常见问题 2 菜鸟也会数据分析全文共22页,当前为第5页。 数据分析常见问题&困惑 数据分析用来干嘛 无从下手 不清楚如何分析 分析完后找不到真正原因 ...... 目标/目的不明确、不完整 原始数据错误/不全面/无可比性 分析方法不佳、片面性 就数据分析而分析/数据的堆积 忽略数据背后的原因 ...... 困惑 问题 菜鸟也会数据分析全文共22页,当前为第6页。 数据分析六部曲 3 菜鸟也会数据分析全文共22页,当前为第7页。 第一步 明确分析目和确定分析思路 第二步 第三步 数据处理 第四步 第六步 报告撰写 3 数据收集 数据分析 第五步 数据展现 数据分析六部曲 菜鸟也会数据分析全文共22页,当前为第8页。 明确分析目的,确定分析思路 1 数据变化背后的真相是什么? 从哪几个维度去分析数据才系统呢? 用什么方法最有效数据报表有说服力呢? 要选用哪种图做分析会好看呢? 高级的分析方法在这能用吗? 要做多少 张图表? 报表要写多少页呢? 菜鸟 专家 菜鸟也会数据分析全文共22页,当前为第9页。 数据收集 数据库 互联网 市场调查 公司内部的业务数据库 使用搜索引擎获取数据并导入 运动科学方法,有目的、有系统地收集、记录、整理有关数据方面的信息和资料,分析市场情况。 菜鸟也会数据分析全文共22页,当前为第10页。 数据处理 数据清洗 数据加工 数据抽样 重复数据的处理、缺失数据的处理、检查数据逻辑错误 数据抽取、数据计算、数据分组、数据转换 从调查对象总体中随机抽取一部分对象作为样本进行调查分析,从此推论总体情况的方法。 菜鸟也会数据分析全文共22页,当前为第11页。 函数法:Countif函数(演示) 高级筛选法:"数据" "排序与筛选" "高级" 条件格式法:"数据" "条件格式" "突出显示单元格规格" "重复值" 删除重复数据:"数据" "删除重复值" 筛选排序功能与countif函数的运用 重复数据处理方法 菜鸟也会数据分析全文共22页,当前为第12页。 缺失数据处理 1、查找缺失数据 2、处理缺失问题 快捷键"Ctrl+enter " &"ctrl+G"运用 用样本平均值代替缺失值+ctrl+enter快捷键 查找菜单路径:"开始"---"查找"---"定位" 快捷键使用:"Ctrl+G" 快捷键-----定位条件 "Ctrl+F" 快捷键"----查找 "Ctrl+H" 快捷键"----替换 菜鸟也会数据分析全文共22页,当前为第13页。 1、If函数+条件 If(logical_text,value_if_true,value_if_false) If(需要判断真假的表达式,表达式为真的显示值,表达式为假的显示值) 条件表达式是用比较运算符(<>=)建立的式子 要注意表达式为文本时需加"" if(countif(),"错误","正确") 2、利用条件格式标记错误 函数or,满足一个即返回true 函数and ,同时满足才返回true 错误数据处理方法--------检验逻辑 误 菜鸟也会数据分析全文共22页,当前为第14页。 字段分列 字段合并 字段匹配 字段计算 字段分组&转换 函数法:left&right函数 菜单法 (演示):"数据"---"分列" Concatanate函数 Vlookup函数 sum函数—求和 average函数—平均数 now函数---当前时间 Vlookup函数的模糊匹配功能 "转置"功能---行列互换 3 数据加工 菜鸟也会数据分析全文共22页,当前为第15页。 Concatanate函数 CONCATENATE(text1, [text2], ...)-----将几个文本字符串合并为一个文本字符串 注意: Text1必需要连接的第一个文本项。 Text2, ...可选。其他文本项,最多为 255 项。项与项之间必须用逗号隔开。 需要合并的第1、2、……,N 个文本项(N 30),这些文本可以为文本字符串,数字或对单个单元格的引用 菜鸟也会数据分析全文共22页,当前为第16页。 返回数据在查找区域的第几列数 Vlookup函数 VLOOKUP(lo

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧