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 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿