1-C语言
参数传递
参数传递是通过堆栈的,传递的顺序是从右到左
函数返回值是存储在寄存器eax中
类型
char x = -1; //0xFF 1111 1111
int y = x; //0xFFFFFFFF 1111 1111 1111 1111 1111 1111 1111 1111 其余位为符号位
unsigned char x = -1; //0xFF 1111 1111
int y = x; //0x000000FF 0000 0000 0000 0000 0000 0000 1111 1111
unsigned int a = 1; //0x1 1
unsigned int b = -1; //0xFF 1111 1111
//a<b
float a = 1.23F; //如果不加上F,编译器默认会认为这个值是double,然后再转换赋值给float
字符
%u 无符号形式打印
%x 16进制形式打印
循环
B:
printf("%d\n",i);
i++;
if(i<=x)
goto B;
指针
char* strcpy(char*dest,char*src); //复制字符串src到dest中,返回指针为dest的值
char* strcat(char*dest,char*src); //将字符串src添加到dest尾部,返回指针为dest的值
调用约定
宏定义
指令 | 用途 |
---|---|
#undef | 取消已定义的宏 |
#if | 如果给定条件为真,则编译下面代码 |
#endif | 如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 |
#else | 同else |
#endif | 结束一个#if…#else条件编译块 |
#ifdef | 如果宏已经定义,则编译下面代码 |
#ifndef | 如果宏没有定义,则编译下面代码 |