qq_43412960 2019-12-27 10:56 采纳率: 78.6%
浏览 222
已采纳

这是一个关于C语言数据结构的指针的问题


#include<iostream>
#include<conio.h>
#include<string.h>
#define OK 1
#define MAXSIZE 100
using namespace std;
typedef  int Status;
#define OK 1
typedef  struct  
{
char name[5];
float price;    
}Book;

typedef  struct  LNode 
{
Book Elem;
LNode *next;

}LNode,*List;

Status InitList(LNode *B)
{
  B=new LNode();
  if(!B)
      exit(-1);
  else
    B->next=NULL;
  return OK;
}

int main()
{
LNode *L;

List LL;
InitList(L);
cout<<L->next;


getch();


return 0;
}

指针是引用类型,链表结点初始化,我用指针传递,修改结点内容的值,应该L里内容会变的,但是没变,这是为什么呢?

  • 写回答

4条回答 默认 最新

  • sculxp 2019-12-27 23:04
    关注

    b是指针,但他本身的值也只是传递了副本到函数内,所以接口应该修改为二级指针或者指针的引用,比如 initList(List & B)这样

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

报告相同问题?

悬赏问题

  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建