指针指针c char初始化
发布时间:2020-12-16 10:17:35 所属栏目:百科 来源:网络整理
导读:我怀疑在C中初始化这个: char** A_Function(){ char** charList = new char*[2]; charList[0] = "abcde"; charList[1] = "fghij"; return charList;} 编译此代码时没有问题,但我不确定该行为. 1 – char列表:char *在堆上好吗? 2 – charList [n_position
我怀疑在C中初始化这个:
char** A_Function() { char** charList = new char*[2]; charList[0] = "abcde"; charList[1] = "fghij"; return charList; } 编译此代码时没有问题,但我不确定该行为. 1 – char列表:char *在堆上好吗? 我不明白char * [2]真正意味着什么,是不是意味着: 如果它是静态的,那么这个数组将在堆栈上分配,所以这个数组是一个巨大的bug制造者? 如果我是对的,如何在堆上分配它? 解决方法
也许一张照片会有所帮助:
当您从A_Function返回时,charList被销毁,但其他两个保持不变.因为你从A_Function返回charList的值没有问题 – 你只需要在不同的变量中保存相同的值,至少假设你实际使用了A_Function的返回值(即,将它分配给某个东西) ). 如果你没有保留这个值,你就会有内存泄漏 – 你将不再拥有指向你在免费商店中分配的两个指针数组的指针,因此你将无法释放它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 配置 applicationContext.xml 是出现 Referenced file cont
- ruby – 如何舍入到小数点后两位?
- Oracle PL / SQL TABLE类型的TO_CHAR
- LPC1764 Cortex-M3内核微控制器
- 正则初体验
- c# – 定义了int []和string []类的位置?
- 《黑马程序员》 正则的匹配 切割 替换 获取的操作演示
- ruby-on-rails-3 – 如何使用urlhelper来包含rails 3 custo
- Cocos2d-x v3.3中UserDefault保存的XML文件位置
- Cocos中调用JNI,报错local reference table overflow (max