关于动态分配内存的问题

P2563 [AHOI2001] 质数和分解

~~~~ 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 ~~~~ 我这里的输出↑。
by Terrible @ 2021-02-26 18:19:01


```c 2 3 5 7 11 13 17 19 23 29 31 37 14293552 43 47 53 59 61 67 71 0 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 ``` 我的是这个
by 即将成为大牛 @ 2021-02-26 18:31:42


https://blog.csdn.net/lws123253/article/details/80285962 realloc在调整内存空间时存在两种情况: **情况1:原有空间后面有足够大小的空间** **情况2:原有空间后面没有足够大小的空间** 情况1: 当是情况1 的时候,要扩展内存就直接原有内存之后直接追加空间,原来空间的数据不发生变化。 情况2 当是情况2 的时候,原有空间之后没有足够多的空间时,扩展的办法是:在堆空间上另找一个合适大小的连续空间来使用。这样函数返回的是一个新的内存地址。 你c的初值是0,初始的时候开0个空间? 不管怎么样都小一号空间,一转移就BUG。
by Terrible @ 2021-02-26 18:43:35


所以要多开一号空间,而且如果可以的话可以使用vector代替之。 @[即将成为大牛](/user/427864)
by Terrible @ 2021-02-26 18:44:15


@[Terrible](/user/195942) 明白了,谢谢大佬
by 即将成为大牛 @ 2021-02-26 18:45:36


|