-
静态链表: struct weapon { int price; int atk; struct weapon *next; //指向下一个节点 }; struct weapon a,b,c,*head; head = &a; a.next = &b; b.next = &c; c.next = NULL;
查看全部 -
动态链表: #include<malloc.h> //注意加这个头文件 struct weapon *create() //creat函数 { struct weapon *head; struct weapon *p1, *p2; int n=0; p1=p2=(struct weapon*)malloc(sizeof(struct weapon)); //malloc 分配内存块的函数,sizeof判断数据类型长度符; scanf("%d,%d",&p1->price,&p1->atk); head = NULL; //初始化第一个结点 while(p1->price!=0) //结束开辟结点判定条件 { n++; if(n==1) head=p1; else p2->next=p1; p2=p1; p1=(struct weapon*)malloc(sizeof(struct weapon)); scanf("%d,%d",&p1->price,&p1->atk); } p2->next = NULL; retrun(head); }
查看全部 -
按位异或,1.定位反转,2.数值交换的功能。
查看全部 -
或运算,1.设定数据的指定位。
查看全部 -
按位与三个简单应用,1.迅速清零。2.保留特定位的数据。3.判断奇偶性。
查看全部 -
typedef 给变量类型取别名。
查看全部 -
宏的本质:宏替换就是指在预处理阶段的,单纯的字符串的替换。
查看全部 -
编译的四个步骤。预处理是第一个步骤。预处理做的第一件事儿就是展开了c的头文件。另外一件事就是宏替换。还提供了一个功能是条件编译。
查看全部 -
递归与递推的区别
查看全部 -
访问结构体成员,用(*w).name还是w->name还是w.name都是可以地,C语言底层进行了屏蔽
查看全部 -
预处理->编译->汇编->链接
查看全部 -
简化后代码,并且分析了各作用 ,分层明确,容易懂和识别
#include <stdio.h>
#include <malloc.h>
struct weapon { //这层函数作用设立变量名和这节函数指针
int price;
int atk;
struct weapon * next;
};
struct weapon * create(){
struct weapon * head; struct weapon * p1,*p2; //创建头指针和节点指针
head,p2->next =NULL;//头指针和节点指针,都需要放数据所以需要注空
p1=(struct weapon *)malloc(sizeof(struct weapon));//建立第一节点空间,并可以输入
scanf("%d,%d",&p1->price,&p1->atk);
int n=0;//循环并设立指向头指针和p2指针方向
while(p1,p2->price!=0){
n++;
if(n==1) head=p1;
else p2->next=p1;
p2=p1;
p2=(struct weapon*)malloc(sizeof(struct weapon));// 建立第二节点空间
scanf("%d,%d",&p2->price,&p2->atk);
}
return (head);
}
int main(){//建立前2个函数指针并指引然后运行函数输出
struct weapon * p;
p=create();
printf("%d,%d",p->atk,p->price);
return 0;
}
查看全部 -
.c文件(预处理) --> .i文件(编译) -->.s文件(汇编) --> .o文件(链接)-->可执行文件查看全部
-
1.
查看全部 -
左移(高位丢弃,地位补0):将值乘以2的N(左移位数)次方、实现乘数为2的运算。问题:有符号位,容易移除
左移(低位丢弃,高位根据情况补):将值除以2的N(左移位数)次方、实现除数为2的运算。问题:有符号位,高位根据计算机补位,无符号为,高位补0
查看全部
举报