动态分配1D结构数组:两种方法

时间:2018-03-16 13:24:17

标签: c++

我已经通过2种方法分配了1D结构数组,我相信它可以为我提供连续的内存分配。但是当我输出内存位置时,我看到类型1分配的差异为4字节,但类型2分配32字节。你能解释一下为什么会这样吗?

谢谢!

[

类型1:0xb830e0和0xb830e4

类型2:0xb83040和0xb83060

2 个答案:

答案 0 :(得分:1)

你有两件完全不同的东西。第一个var path = AppContext.BaseDirectory; // returns bin/debug path var directory = new DirectoryInfo(path); if (directory.Exists) { var dllFiles = directory.GetFiles("*.dll"); // get only assembly files from debug path } 更像是结构的指针数组。第二个aws cloudformation create-stack --stack-name <YourStackName> \ --template-body file://<YourTemplateFileName.ext> \ --parameters $(aws s3 cp S3:/yourbucketname\parameters.txt - ) 是一个结构对象的数组。

变量str_ptrstr_ptr1大致相当于

str_ptr

答案 1 :(得分:1)

类型1: - 这里打印的是从一次调用malloc分配的2个整数的地址。

类型2: - 在这里打印从2个不同的调用返回到malloc的地址。