1.大符��型->小符��型(位截�啵�
小符��型->大符��型(位拓展)
2.按照���在�却嬷械牟煌�存�Ψ绞剑�分�椴煌�的����型:�冉��型/��造�型/空�型
3.short 2(字�) int 4(字�) long 4(字�,32位�C) longlong 8(字�,32位�C)
float 4(字�) double 8(字�) longdouble 16(字�)
�[式����型�D�Q:低->高
4.三目�\算符
a>b?a:c>d?c:d 等�r于 a>b?a:(c>d?c:d) 因�槿�目�\算符是由右向左�Y合的
5.sizeof
作用:用於�@取某�N�型���所需空�g的大小。
a.後跟�型必�加()/後跟表�_式可不加()
b.sizeof表�_式不�M行求值,只是根���型�D�Q��t求的�表�_式的�型,
然後把�@�N�型所占的字��底��sizeof表�_式�@整��表�_式的值,即在
sizeof中不能完成表�_式的�算。
6.typedef
作用:用於�δ撤N�型取一��新的�e名
用法:1.先按照�量定�x形式��出
2.在以上形式的�_�^添加typedef
3.原�矸旁谧�量位置上得�苏I符被先��做�型的�e名看待
7.左值�r可�L��存�Φ�^域,能改�;�量是,常量不是;
a.能�蚍旁谫x值符左�鹊����r左值,能�蚴褂�++、--、*(指�的�g接��用�\算符)的也是左值
b.�量��做左值、右值使用�r,含�x是不同的。
作�樽笾�r:是�L��存��^域
作�橛抑�r:是�L��其�热�
8.if/else �m用於模糊匹配 if成了的�l件()�确�0
switch case �m用於��纹ヅ�
9.break 跳出本��for循�h
continue 跳出本次循�h
1.指针---地址
内存是按字节统一编址
顺序编址 每一个字节单元有一个编号
每个字节编号的长度一致
2.指针变量--存放地址值的变量
某个内存单元可以存放一个地址值
存放地址值的单元应为4字节(32位系统中指针变量的大小ILP32)
能够决定存放的指针指向的数据类型
决定指针变量进行加减整数时实际改变的字节数
3.指针变量定义之后,应指向可操作的空间
相同类型的指针变量可进行赋值操作
指针变量本身总是可读写的
4.泛型指针 void *
泛型指针可以和任意类型的变量完成隐式转换
可以定义void *类型的变量,不能定义void类型的变量,因为系统不知道应该给void类型变量分配多少字节空间,同样不可以直接对void *型的指针 进行间接引用操作。
5.*p++, *(p++), 先�绦性卺嵋� *++p, *(++p)先後移在�绦� (*p)++ 取出值加1
6.最重要的一个就是可以实现多个返回值。(从函数带回多个值)
函数不能返回数组
函数返回指针值:不能返回局部变量的地址
1.��⒑��当仨�至少有一����担�因�橐�根���值,�@得要�理���的首地址
2.const int a=3;
int *p;
p=&a;
printf("%d\n",a);
*(int *)&a=4;
printf("%d\n",a);
*p=5;
printf("%d\n",a);
*(int *)&a等�r于*p
3.程序建立映射之後�可以通�^�煞N方法建立映射malloc、��B加�d
4.�o可�绦形募���建��B接,可用於多��文件略有差�e的情�r
5.段�e�`有�煞N①�x��皆不允�S或不存在
②�L��了只�x的�^域
6.查看符�� eg:nm a.out
7.NULL 是一��泛型指�((void*)0)
8.函�刁w是一���}合�Z句
9.�明是符����},定�x是�却���}
10.extern �明外部�量,不能�x值
11.main(int argc,char *agrv[],char *env[]) argc:������ argv:���到M env:�h境�量
12.全局�量未初始化或初始化��0,是其放到.bss的�Y果
13.�Ec�到M的��同
①�到M:�S�C存取 �#合冗M後出
②�到M:�到M各下�穗S�C存取 �#汉����m�元素,�M行出入操作
可以用�到M,模�M���F��
14.od -tx1 -tc t �⒖�绦形募�以十六�M制和文本方式�@示出��
15.操作系�y有�S多系�y�{用,每��系�y�{用完成特定的功能
16.符� �【�->地址
��g原理 ��符�:函�得�/初始化的全局�量
弱符�:未初始化的全局�量
��符�遇到弱符�:弱符�自�油嘶��槁�明
弱符�遇到弱符�:���g器而定
��符�遇到��符�:出�e
17.malloc返回void * 用完之後free() p=NULL
18.�鞒���
函���凳侵羔�
在函��炔块g接引用
在函�嫡{用前��抵赶虻拇��空�g�o意�x
在函�嫡{用後,��涤幸饬x,�K作���捣祷刂捣祷�
19.define INT int*
INT a,b; int *a,b;
typedef int* INT
INT a,b; int *a,*b;
20.0000-0111 0-7
1111-1001 -1--7
1000 人�橐�定
21.menset 清空某�K�^域、其每次操作的最小�挝�橐��字�,�c����型�o�P
getchar�妮�入流中�@取用�糨�入的最後一��字符
使用make命令,文件名只能��makefile/Makefile
makefile中%�栏衿ヅ渥�量名
在�A�理命令中\表示�m行符
�嚷��r最好的宏、但其本�|是函��
22.push的�煞N方式 先��#�後移�m�指�
先移�m�指�,後���
%ebp �;�指� %esp �m�指� %eip 指令指�,cpu要取址的地址
call 跳�D �⑵湎�l地址���
leave push/mov ��l指令的逆操作
ret call 指令逆操作
���函�嫡{用中ebp---esp之�g的�却�K,�Q�楹�����
站上不能存放大量���,若有大量���要存放到堆上
23.一些系�y宏函��
函�得�__func__,
�r�g__TIME__,
日期__DATE__,
行�__LINE__,
文件名__FILE__