2动态数据结构
动态数据结构如链表和栈,可以根据程序需求灵活地调整其大小。
#include#includetypedefstructNode{intdata;structNode*next;}Node;//创建新节点Node*createNode(intdata){Node*newNode=(Node*)malloc(sizeof(Node));newNode->data=data;newNode->next=NULL;returnnewNode;}//插入节点voidinsert(Nodehead,intdata){Node*newNode=createNode(data);if(*head==NULL){*head=newNode;}else{Node*current=*head;while(current->next!=NULL){current=current->next;}current->next=newNode;}}//打印链表voidprintList(Node*head){Node*current=head;while(current!=NULL){printf("%d->",current->data);current=current->next;}printf("NULL\n");}intmain(){Node*head=NULL;insert(&head,1);insert(&head,2);insert(&head,3);printList(head);return0;}
3代码复用与模块化
通过代码复用和模块化设计,可以提高代码的可维护性和复用性。尽量将功能分解为独立的函数或模块。
//函数复用intadd(inta,intb){returna+b;}intsubtract(inta,intb){returna-b;}intmain(){intsum=add(2,3);intdiff=subtract(5,2);return0;}
2控制结构
C语言提供了多种控制结构,帮助你实现复杂的逻辑和决策。
条件语句:用于根据条件执行不同的代码块。if(age>18){printf("Youareanadult.\n");}else{printf("Youareaminor.\n");}循环语句:用于重复执行代码块。
//for循环for(inti=0;i<5;i++){printf("i=%d\n",i);}//while循环inti=0;while(i<5){printf("i=%d\n",i);i++;}
示例代码:
#includeintmain(){intarr5={1,2,3,4,5};//定义数组for(inti=0;i<5;i++){printf("arr%d=%d\n",i,arri);//访问数组元素}return0;}
指针数组:指针数组是由多个指针组成的数组,它们可以指向不同的内存地址,常用于处理字符串。
校对:白晓(f3J1ePQDlzHhwh44q38w4Ima2E3XrDq)


