我该如何定义c中的数组,它像矢量一样工作?这个数组应该取任意数量的值。它可以取0个值或10个值或100个值。c中的矢量复制
下面的代码工作,但给我一个运行时错误,堆栈已损坏。
int i = 0;
int* aPtr = &i;
int* head = aPtr;
for(i=0;i<6;i++){
(*aPtr)=i;
aPtr++;
}
同样我怎样才能使用char* str
采取后面的空字符结束,使字符串中的字符任何金额是多少?
实践采访:)
如果你的代码给你提供了运行时错误,那么它不起作用。你所要做的就是写入'i'分配的内存,这会导致分段错误。 C++向量基本上是动态数组,它周围有细微的变化。如果你想用C复制一个矢量,那么它比你所做的还要多,但我不知道你想要做多少。 – birryree 2012-04-24 17:53:21
是真的,这就是为什么我想知道正确的方法 – 2012-04-24 17:55:20
嗯,对于一件事,你想要做什么呢,C++'std :: vector'呢?一切?基本的是实现一个结构,它可能有一个指针和一个定义大小的int,然后编写一堆接受这些结构并对它们进行操作的函数,指针就是你的动态数组。如果您只想要一个动态数组,请学习使用[C内存分配](http://en.wikipedia.org/wiki/C_dynamic_memory_allocation)。 – birryree 2012-04-24 17:56:36