读书人

结构体怎么定义

发布时间: 2013-11-18 00:11:49 作者: rapoo

结构体如何定义
typedef struct tagTest
{
int val[MAX];
}Test, *pTest;

typedef struct tagTest
{
int* val;
int len;
}Test, *pTest;
[解决办法]
第一种的优点是简单不容易出错,第二种的优点是灵活。

引用:
typedef struct tagTest
{
int val[MAX];
}Test, *pTest;

typedef struct tagTest
{
int* val;
int len;
}Test, *pTest;

[解决办法]
第一个大小固定,使用方便,直观
第二个动态分配内存大小!比较灵活!

[解决办法]
引用:
typedef struct tagTest
{
int val[MAX];
}Test, *pTest;

typedef struct tagTest
{
int* val;
int len;
}Test, *pTest;


第一个使用固定大小内存,如果MAX定义太小,有可能会出现越界。
第二个在32位机上只需要占用8个字节。在使用时内存可以动态分配,在内存的使用有效率上比较高,灵活。
[解决办法]
引用:
Quote: 引用:

typedef struct tagTest
{
int val[MAX];
}Test, *pTest;

typedef struct tagTest
{
int* val;
int len;
}Test, *pTest;


第一个使用固定大小内存,如果MAX定义太小,有可能会出现越界。
第二个在32位机上只需要占用8个字节。在使用时内存可以动态分配,在内存的使用有效率上比较高,灵活。


第二个也可能越界,但是可能危险没有栈区越界那么大

读书人网 >C++

热点推荐