
正文
c语言中的next函数的简单介绍
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言中p=p->next;语句是什么意思?一般作用是什么?
是指针之间的一种传递,一般在数据结构中的单链表里由应用,这条语句中的p一般指向一个结构体类型的数据,这种类型的数据通常表示节点;结构体里存放的是一些数据和记录下一个节点地址的指针变量next;这个next就好比链条一样,连接着一个个节点;在单链表里,数据是零散的,不像数组那样的顺序存储方式,每一个数据都有自己特定的位置,可以访问任何位置;单链表呢是通过一个记一个的方式把所有数据连起来的,当我们访问一条单链表的时候,必需从头节点开始,然而我们也只需要知道头结点的地址就好了;
比如这条语句p=p-next;
假设p在这条语句之前是指向结构体类型a1的,而a1中的next存的是a2的地址,那么这条语句执行以后,p就指向了a2;
相关问答
Q1: C语言这个NEXT有用什么方
16 首先 s[0].next=s+1 ...这一行赋值的结果
就是s[0] - s[1] -s[2] -s[0]
然后p=s 指向s[0]
q=p-next=s[0].next=s[1] q指向s[1]
类似的r 指向s[2]
sum+=q-next-num =s[1].next-num=s[2].num=3
sum=3
sum+=r-next-next-num
=s[2].next-next-num
=s[0].next-num
=s[1].num
=2
sum=3+2=5
输出5
17
首先输出4行。于是外层for要执行4次,也就是这里要j0
然后 要输出从13开始的数据。 当i=1 j=4时,x要是13
于是这里就是i
Q2: c语言指针中next的用法?
像int一样都是类型的变量;他是定义的一个结构体指针,没有赋值时指向NULL;赋值后指向一个结构体地址;其功能是吧结构体关联起来,从本结构体可以找到下一个结构体。(就好像我这保存着你的地址,我可以找到你,你又知道别人的地址,我通过你就可以找到别人。)next也可以说只是个名,便于我们直观的认识他的功能和意义。
Q3: c语言的标准问题 .next
/*看不过去这些误人子弟的回答
你这么肯定island a={"a","7","9",NULL};这样分配不行?
他程序的问题出在:
1、a.next=c;
c.next=i;
i.next=s;
这种赋值语句应该放在函数内部,不应该在函数外部,所以编译器会提示
找不到{ ,即这些语句应该在函数体内。
把这3句放到 main 函数体内就没问题了。
2、dis函数
for (; i=!NULL; i-next) 改为 for (; i!=NULL; i=i-next)
printf("name:%s\n open:%s-%s",i-name,i-open,i-close );改为:
printf("name:%s open:%s-%s\n",i-name,i-open,i-close );在最后换行
修改后的程序如下:
*/
#include stdio.h
typedef struct island
{
char *name;
char *open;
char *close;
struct island *next;
/* data */
}island;
island a={"a","7","9",NULL};
island c={"c","17","19",NULL};
island i={"i","9","17",NULL};
island s={"s","9","17",NULL};
void dis(island *start)
{
island *i=start;
for (; i!=NULL; i=i-next)
{
printf("name:%s open:%s-%s\n",i-name,i-open,i-close ); /* code */
}
}
int main(void)
{
a.next=c;
c.next=i;
i.next=s;
dis(a);
}
Q4: C语言中关于结构体中next和data什么意思
你好!
next和data都是自己定义的变量,一般时候是下一个结构体变量地址和当前这个结构体变量的数据,这样定义是为了便于记忆和观察,也是可以定义别的变量名的,一般这种定义是用在链表的生成。如果我解释的不是很清楚的话,你可以追加提问!
打字不易,采纳哦!
Q5: c语言的数据结构中,next是如何指向下一个元素的?
在函数中不是有q-next=p;这时q是插入前的尾节点。那样q的的下一个(新插入的节点)就由q指向节点里的字段next指向了。
单链表的插入只需让s-next 和p-next的指针做一点改变即可。
s-next = p-next;
p-next = s;
单链表第i个数据插入结点的算法思路是:
1、声明一个指针p指向链表的第一个结点,初始化j从1开始;
2、当j i 时,遍历链表,让p的指针向后移动,不断指向下一结点,j累加1;
3、若到链表末尾p为空,说明第i个元素不存在;
4、否则查找成功,在系统中生成一个空结点s;
5、将数据元素e赋值给s-data;
6、单链表的插入标准语句 s-next = p-next; p-next = s;
7、返回成功。
扩展资料
单链表的建立有头插法、尾插法两种方法。
1、头插法
单链表是用户不断申请存储单元和改变链接关系而得到的一种特殊数据结构,将链表的左边称为链头,右边称为链尾。头插法建单链表是将链表右端看成固定的,链表不断向左延伸而得到的。头插法最先得到的是尾结点。
链表建立的过程是申请空间、得到数据、建立链接的循环处理过程。
2、尾插法
若将链表的左端固定,链表不断向右延伸,这种建立链表的方法称为尾插法。尾插法建立链表时,头指针固定不动,故必须设立一个搜索指针,向链表右边延伸,则整个算法中应设立三个链表指针,即头指针head、搜索指针p2、申请单元指针pl。尾插法最先得到的是头结点。
关于c语言中的next函数和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







