首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

结构体怎么定义

2013-11-18 
结构体如何定义typedef struct tagTest{int val[MAX]}Test, *pTesttypedef struct tagTest{int* valint

结构体如何定义
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个字节。在使用时内存可以动态分配,在内存的使用有效率上比较高,灵活。


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

热点排行