网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月20日漏签0天
c语言吧 关注:801,816贴子:4,375,173
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 8回复贴,共1页
<<返回c语言吧
>0< 加载中...

求教:单链表创建遇到的问题(指针相关)

  • 只看楼主
  • 收藏

  • 回复
  • 凱廸
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
在看《大话数据结构》->3.9节单链表的创建(头插法)
C语言有点生疏了,想使用Xcode来验证,源码几乎和书上一致。
但是为什么这个会报错。按我的理解函数中形参L 应该是二级指针?
那*L应该是LinkList类型?

附上我的代码:
#include <stdio.h>
typedef int ElemType;
typedef struct Node{
ElemType data;
struct Node *next;
}Node;
typedef struct Node *LinkList; // LinkList是个指针类型
void createListHead(LinkList *L, int size){
// 1.创建头节点
*L = (LinkList)malloc(sizeof(Node));
(*L)->next = NULL;
for (int i=0; i<size; i++) {
// 2.新建节点
Node *n = (Node *)malloc(sizeof(Node));
n->data = i;
// 3.移动链
n->next = (*L)->next;
(*L)->next = n;
}
}
int main(int argc, const char * argv[]) {
LinkList *l;
createListHead(l, 10);
return 0;
}
PS:有没有什么比较好的数据结构教程网址推荐呀?最好能有C的源码示例
我找到这个:但是好像不是很系统。
https://www.geeksforgeeks.org/data-structures/linked-list/


  • uvxl-
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
二级指针,咋报错了


2026-01-20 17:55:13
广告
不感兴趣
开通SVIP免广告
  • 无途的城
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
把*去掉


  • 幽灵桑
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
应该在 main 里面这样写:
LinkList l;
createListHead(&l, 10);
或者
LinkList *l = NULL;
createListHead(l, 10);


  • 幽灵桑
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
变量不初始化就使用 是UB行为 一些编译器检测到了 就会报错


  • 丶零下10摄氏度
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 8回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示