西交《程序设计基础》第七章 结构体与共同体(二)

发布时间:2024-01-09 11:01:11浏览次数:29
西交《程序设计基础》FAQ(八)第七章 结构体与共同体(二)一、问:结构体类型与结构体变量一样吗?答:结构体类型与结构体变量概念不同结构体类型:不分配内存;   结构体变量:分配内存结构体类型:不能赋值、存取、运算;    结构体变量:可以结构体可嵌套结构体成员名与程序中变量名可相同,不会混淆二、问:结构体指针变量是什么?与基本类型指针变量相似,结构体指针变量主要作用是存储其结构体变量的地址或结构体数组的地址,通过间接方式操作对应的变量和数组。在 C 语言中规定,结构体指针变量可以参与的运算符如下:   ,--,+ ,* ,->,.,|,&,!三、问: 要在链表中插入一个数,怎么操作?在链表中插入节点的基本步骤如下:第一步,获得第一个节点的地址。第二步,找到插入节点的位置。第三步,创建新的节点 InsertNode。第四步,将当前节点的下一节点信息存储到新创建节点 InsertNode 的成员变量。第五步,将 InsertNode 的地址存储到当前节点的成员变量中。第六步,结束。 struct Node{……struct Node * Next; /*下一对象的位置*/};int InsertElement (struct Node *List,int I, struct Node *Node){ /* List 为链表第一个节点地址,I 为第 n 个元素,如果存在,返回 I,否则返回 0*/struct Node *pOne=NULL;struct Node *pNewOne=NULL;int j=0;/*计数器*/pOne= List;/*指向数组的第一个节点*/ /*顺序查找,直到到达链表的尾部或 j=I*/ while((pOne!=NULL)&&(j<I-1)){ pOne=pOne->Next; /*查找下一节点*/j++;}if((pOne->Next==NULL)||(j>I-1)) /*第 I 个元素不存在*/return 0;pNewOne= ( struct Node *)malloc(sizeof(struct Node));{/*拷贝参数 Node 信息到新增加的节点 pNewOne */…...pNewOne ->Next= Node ->Next;}pNewOne ->Next= pOne ->Next; /*将下一节点的地址拷贝到插入节点的成员变量中*/pOne ->Next= pNewOne; /*将插入节点的地址拷贝到当前节点的成员变量中*/return j;
文档格式: docx,价格: 5下载文档
返回顶部