我已经通过2种方法分配了1D结构数组,我相信它可以为我提供连续的内存分配。但是当我输出内存位置时,我看到类型1分配的差异为4字节,但类型2分配32字节。你能解释一下为什么会这样吗?
谢谢!
[
类型1:0xb830e0和0xb830e4
类型2:0xb83040和0xb83060
答案 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_ptr
和str_ptr1
大致相当于
str_ptr
答案 1 :(得分:1)
类型1: - 这里打印的是从一次调用malloc分配的2个整数的地址。
类型2: - 在这里打印从2个不同的调用返回到malloc的地址。