2 namedajipai namedajipai 于 2016.03.29 15:30 提问

C++ DLL接口结构体的转寰问题,究竟字符串内存的分配是怎样的

为什么VB6.0不需要释放内存,而同样的结构体在C++ DLL使用,C++自己反倒需要释放内存呢?字符串有什么不同?

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.08 04:48
已采纳
CSDNXIAON
CSDNXIAON   2016.03.30 11:31

结构体的内存对齐问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

cxsmarkchan
cxsmarkchan   2016.03.30 15:42

VB和C++的思想完全不同,不建议进行对比。C++中的字符串需要看定义方法,定义成char数组的不需要释放内存,定义成char*则需要。VB这个语言就不涉及内存操作问题。
因为不知道你的具体代码,所以回答可能不够准确,请见谅。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言结构体内存空间分配
首先来说如果结构体的内存是按照便捷对齐的话,比如下图的这个结构体: 假如按照边界对齐要求的话,恐怕需要24个字节的存储空间。而short类型和charl类型却仅仅占了不到一个double八个字节的空间。 图中的彩色部分就是根据边界对齐,这三个类型实际所占的空间,可以说大部分的空间就这样白白浪费了。那么问题来了?既然我可以想到这个问题,在编写这个东西的那些工作人员不可能没有注意到吧?
定义结构体与分配内存
这几天在学习数据结构的时候经常会出现一个问题,就是定义了节点的结构,然后定义了指向节点的指针,但是已经定义了指针为什么就不能直接用呢,后来查了一下相关资料发现原来在新建指针的时候不会一同分配内存给他,所以会出现非常严重的错误。即为当声明一个结构体指针时,为什么还有new(C++)或者malloc()这种语句? 问题描述: 主题:定义结构体指针时,有没有同时分配存储空间定义结构体指针时,有没有同
结构体变量的内存分配
计算机中的内存存放变量时往往并不是按照一个
C语言好难——结构体的内存分配
结构体的内存分配,我个人是觉得比较蛋疼的,它有一个需要遵循的原则,地址对齐,也有人称为内存对齐,叫法没关系,反正我只是“拿来”,会用就行。        好了,先有这么一个概念,什么是内存对齐,先丢一边。……~(~o ̄▽ ̄)~o 。。。滚来滚去……o~(_△_o~) ~。。               设char占用1个字节,int占用4个字节。        那么问题1
C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?
C语言中结构体内存分配问题解析。
分析了编译器对结构体内存空间的分配
结构体数组到底要不要分配内存
<br />clude<stdio.h><br />struct student<br />{<br />int data;<br />float scrore;<br />char name[50];       <br />       <br />}stu[2];<br />/**************************************/<br />//结构体数组不需要分配内存,系统自动分配  <br />/**************************************/
结构体内部的成员是何时分配内存空间的?
昨天晚上发现一个很多菜鸟都会遇到的一个问题:结构体内部的成员是何时分配内存空间的? 示例: 程序代码:#include <stdio.h> struct stu { int a; int b; };void f(void) { struct stu m; int c; …… }int main() { int d; f(); …… }
C\C++中结构体变量与结构体指针内存分配问题
A a[3];  a是A型的,有3个,当然分配A乘3大小的空间 A* a;    a是A*型的,当然只分配A*大小的空间,而不会分配A大小的空间 好像跟你说的不太一样,结构体数组的话,我在课本里看到的确不用再次申请空间了啊[/quote] 结构体变量分配结构体本身大小的空间,结构体指针分配4个字节,其实任何类型的指针都是分配四个字节的指针空间。 所以: A a[3]; //a里面
malloc了多个结构体长度的内存后,怎样操作每个结构体
#include #include #include #include using namespace std; typedef struct tagtest { int ID; char name[24]; }TEST; int main() { int num = 10; int ulmemsize = sizeof(TEST) * num; TEST *pstrfid =