- 博客(8)
- 收藏
- 关注
原创 8086汇编学习笔记——0
1.一些符号的约定 1)address 表示某个内存单元的相对于寄存器的偏移地址 2.汇编指令 1)mov: mov ax,bx ;将bx中的内容送到ax中 mov ax,ds:[address] ;将ds:address所指向的数据送入ax中(一个字,即两个字节。如果只要传输一个字节可以使用寄存器的高八位(ah)或者底八位(al)
2015-11-27 22:53:13 597
原创 Hello World 汇编语言版
谨以此作为汇编学习之路也是大学成长之路上的一个小小纪念。assume cs:codeseg,ds:datasegdataseg segment db 'Hello World'dataseg endscodeseg segmentstart: mov ax,dataseg mov ds,ax mov bx,0 mov ax,0B80
2015-11-27 21:46:21 492
原创 C语言链表(1)——搜索
//head是链表的头指针,i 是要查找的数node *sch(node *head , int i){ node *re = NULL; //re指针用来返回元素的指针 //链表还没有到头的时候 while(head != NULL){ //如果找到了i if(head->num == i){ re = head
2015-07-27 16:44:49 512
原创 C语言链表(0)
链表,顾名思义,友链有表。 形象点说,看起来像这样 一格一格的是表,线是链,两者加起来就是”链表“了。两个格子在一起把它叫做node(节点) 当我们把它放到计算机里的时候,其实它更像是这样的。 因为计算机里并没有绳子,连接他们的是指针。把指针跟数据放,到一起,让每个数据后面的指针指向下一个数据,以此来造出一条虚拟的绳子。 再完善一下模型,便是这样子 接下来,用C语言来实现这个单向
2015-07-22 12:52:26 730
原创 C语言中逻辑运算符的陷阱
我们经常使用逻辑运算符来进行诸如此类的运算:if (a == b && b == c )这里使用&& 来保证两个表达式都为true时if里面的语句才被执行。 但是,必须注意的是,当使用类似于a==b&&b++ 时,只有a==b 是false则,b++不会被执行。C语言中存在类似的机制来提高代码的运行速度,但却因此带来了这样的问题:* 一但&&左边为假(此时就可以的判断整个表达式的值为false)
2015-07-20 13:45:16 615
原创 c中sizeof()运算符的问题
由于sizeof() 运算符的运算结果是在编译的时候决定的。因此,一下操作无法得到想要的结果。 int a = 0; printf("%d\n",sizeof(a++)); printf("%d\n",a);这这样做并不会让a加一。a打印出来的结果仍为0
2015-07-19 10:34:11 436
原创 C语言中的数组与指针的关系
有时候我们会使用sizeof(a)/sizeof(a[0]) 的方法来防止数组的下标超出有效下标。 然而,这种方法用于作为参数的数组却行不通,无法得到正确的数组个数。有的编译器还会给出一个警告来。#include <stdio.h>void prtf(int b[]){ int i; for (i = 0; i < sizeof(b)/sizeof(b[0]); i++){
2015-07-18 21:36:07 504
原创 C语言中的次方运算
在C语言中进行次方运算的方法: 一: 利用循环进行幂运算:#include <stdio.h>int main(){ int i,k = 2; for(i = 1;i < 3;i++) { k *= 2; } printf("%d",k); return 0;}上述代码可以实现k的3次方运算。二: 利用math.h中的pow
2015-07-17 16:32:54 95676
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人