我无法理解程序的逻辑和整个任务。
给定以下数据类型:
struct T
{
struct _T_
{
int* a;
}* p1;
float* a;
int* b;
struct _T
{
int a;
int b;
double c;
}* p2;
int c;
};
任务本身:
value
在变量初始化字符串中给类型变量的每个字段Т
一个任意初始值
你能解释一下如何做到这一点吗?
此代码声明了一个用户定义的数据类型
T
,其中包含指向另外 2 个用户定义的数据类型的指针_T_
和_T
.从使用嵌套结构名称的角度来看,这项任务很奇怪——就好像它们故意试图混淆一样。但实际上,没有什么可担心的。为了清楚起见,只能改写如下:
然后设置值会是这样的:
什么是等价的
这里,默认情况下,指针被分配
nullptr
。如果您需要特定的值,那么您必须首先创建特定的对象,然后将它们的地址分配给指针:或者通过动态内存分配
最主要的是不要忘记通过
new
delete through分配的所有内容delete
。