qq_43412960 2020-01-02 15:35 采纳率: 78.6%
浏览 209
已采纳

这是一个关于链表结点的指针问题


#include<iostream>
#include<conio.h>
#include<string>
#include<iostream>
#include<conio.h>
using namespace std;
#define OK 1;
typedef int Status;
typedef struct 
{
string name;
float price;
}Book;
typedef  Book ElemType;
typedef struct  LNode 
{
ElemType     Elem;
LNode *Next;
}LNode,List;
Status InitList(LNode *L)
{

    L=new LNode();
    return OK;
}
int main()
{

LNode *LL;
InitList(LL);




getch();


return 0;
}


上面是我的测试代码。我想测试下链表结点,结构体指针用法。发现了一个很奇怪的现象

图片说明

InitList中的形参是结构体指针L是指针类型,也就是说L是地址。但是我调试的时候,发现L变成了值。那一堆省略号可以体现出来。这是第一个疑问。
L是子函数里的参数,调试退出子函数后,L应该消失才对,不应该有值,但调试结果显示出一堆省略号,证明它还是存在的。这是第二个疑问,求解

  • 写回答

2条回答 默认 最新

  • huhuren12 2020-01-02 15:55
    关注

    第一个问题:L值变不变都没有任何意义,这个值都是无效的,你想用也用不了,一堆省略号应该是无效的意思吧!
    第二个问题:你说L值应该消失,这个可不一定,要看编译器是怎么规定的,虽然L只无效,但是有些编译器还是显示原值,只是变成灰色,有些编译器显示的是一个红色的叉叉。 这个不一定的,但是应该都能看出来是无效的意思,另外,函数中的局部变量虽然无效了,但是那个局部变量的对应的内存地址的值还是之前的值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配