C++怎样将一个数插入到数组末尾?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++怎样将一个数插入到数组末尾?相关的知识,希望对你有一定的参考价值。
参考技术A把单一数放到数组的末尾,于是每个struct objects可以拥有可变数组的数组。
/* stuff */
char pc[1];
;
//从文件或标准输入装置中取得一个字符串
//然后为struct 本身和该字符配置足够的内存
struct mumble * pmumbl = (struct mumble*)
malloc(sizeof(struct mumble) + strlen(string) +1);
strcpy(&mumble.pc,string);
首先,结构体的末尾定义了一个char数组,只分配了1个字符。那怎么能说是可变大小数组。
往下看,他用malloc函数分配了一堆的内存。大小为结构体+字符串+1(字符串结束符)如下图所示。
通过strcpy,将string字符串拷贝给mumble.pc,pmumble已经分配了足够的内存,因此只要赋值即可,也就达到了可变大小数组的意思。
但是,C++中的类可不同。
C++中 public、protected、private内的声明顺序可以被保证,但是这三个关键字的布局是不同的。因此总的排列顺序并不能被保证。因此,不能实现struct的可变大小的数组。
以上是关于C++怎样将一个数插入到数组末尾?的主要内容,如果未能解决你的问题,请参考以下文章
数组分配中的 C++ 堆内存只会弄乱第一个数组而不是第二个数组