社区
C语言
帖子详情
关于C语言的一个问题。
hejian29
2004-12-11 07:03:55
先给出程序,其实是数据结构里的。
typedef struct nList
{
int data;
struct nList *next;
}nList,*pList; //这里一个链表的数据结构
void CreateList(nList &list,int n) //创建一个长度为n的链表。。。。不过这里有问题。
{
..........
}
问题是为什么在创建链表的那个函数头里nList &list里,加上&就会出错呢?可是书上都是这样的呀?
狂急,请高手指点。
...全文
96
7
打赏
收藏
关于C语言的一个问题。
先给出程序,其实是数据结构里的。 typedef struct nList { int data; struct nList *next; }nList,*pList; //这里一个链表的数据结构 void CreateList(nList &list,int n) //创建一个长度为n的链表。。。。不过这里有问题。 { .......... } 问题是为什么在创建链表的那个函数头里nList &list里,加上&就会出错呢?可是书上都是这样的呀? 狂急,请高手指点。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
C_020511
2004-12-11
打赏
举报
回复
我看,是为了值传递。
loveyou19840806
2004-12-11
打赏
举报
回复
C中没有引用这个语法,只有C++中才有,
函数声明部分这样写:void CreateList(nList *list,int n)
函数调用部分这样写:CreateList(&list,n) ;
chinayang9
2004-12-11
打赏
举报
回复
函数声明部分这样写:void CreateList(nList &list,int n)
函数调用部分这样写:CreateList(&list,n) ;
但要注意实参的list要先有一个malloc为它分配空间
hejian29
2004-12-11
打赏
举报
回复
换句话说怎么做到指针变理的双向值传递。
hejian29
2004-12-11
打赏
举报
回复
那如果要在主函数中能够调用的话
这是一个创建链表的主函数,能帮我改一下吗?
#include <stdio.h>
#include <stdlib.h>
#define DATATYPE int
typedef struct List
{
DATATYPE data;
struct List *next;
}List,*pList;
/*创建带有头结点的含有n个元素的链表*/
void CreateList(pList L,int n)
{
int i;
List *p;
L=(List*)malloc(sizeof(List));/*创建头结点*/
L->next=NULL;
for(i=0;i<n;i++)/*尾插入法插入结点*/
{
p=(List*)malloc(sizeof(List));
printf("请输入新元素的值:");
scanf("%d",&p->data);
p->next=L->next;
L->next=p;
}
}
/*打印链表中的所有元素*/
void PrintList(pList L)
{
List *p;
p=L->next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
}
main()
{
pList Lt;
CreateList(Lt,5);
PrintList(Lt);
}
chenee543216
2004-12-11
打赏
举报
回复
&list 是list的地址,
如果你定义过list 则&list 是常数,如果你没有定义 list则 &list 是个无意义的数字!
void CreateList(nlist XXX ... ) 中 XXX为 nlist 类型的变量(形参)
hejian29
2004-12-11
打赏
举报
回复
怎么没人帮忙啊?
C&C++语言学习大全套【精品】
2012-C&C++语言大全.zip C&C++语言教程大礼包.rar C_C+++指针的13份资料.zip C_C++程序员实用大全.zip C++程序设计语言特别版(中文版) .rar
C语言
大全第4版+源码.rar
C语言
阶梯式教程【从白痴到资深专家】 .pdf 你必须知道的495个
C语言
问题
(完整版).rar
C语言
常见
问题
C语言
常见
问题
c语言
汉诺塔
问题
详解
汉诺塔是个经典的递归
问题
(Tower of Hanoi),本文将详细介绍如何用
c语言
解决汉诺塔
问题
。
关于
C语言
函数返回数组的
问题
关于
C语言
函数返回
一个
数组
c语言
中函数不能直接返回
一个
数组,但是可以用其他方式实现类似功能,不过需要注意: 1、该数组不能是返回函数的局部变量数组,因为局部变量数组在退出函数后会被释放。 可以是全局变量,静态局部变量,动态分配内存,以及从函数参数传过来的数组地址。 2、返回指针时,无法返回长度,所以需要其它方式传回数组长度,以下是几种常用的方法。 1) 约定固定长度; 2) 以函数参
兔子繁衍
问题
--
C语言
兔子繁衍
问题
——
C语言
问题
提出 一对兔子,从出生后第三个月起每个月都生一对兔子。小兔子长到第三个月后每个月又生一对兔子。假如兔子都不死,请问第
一个
月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才能到达n对?输入
一个
不超过10 000的正整数n,输出兔子总数达到n的最少月数,试编写相应程序。 思路 由于兔子基数为一对,可以试用列举法观察规律 月份 1 2 3 4 5 6 对数 1 1 2 3 5 8 不难发现这是
一个
斐波那契数列,兔子的总数是上
一个
月的数量加上上个月的数量,即S(n)
C语言
70,020
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章