2015年07月24日 笔记
printf:
①使用printf的时候应注意加 \n
#include<stdio.h>
int main()
{
printf(“aaaaaaaa”);
while(1);
}
运行之后是不能输出aaaaaaaa的。原因在于printf存在一个缓冲区,这个缓冲区只有缓冲区装满或者是遇到\n以及程序结束才会有输出。上述程序while(1)属于一个死循环,也就是说程序自动不会结束,导致aaaaaaaa的输出受到阻碍。
②printf会根据需要的输出形式相应的转换
#include<stdio.h>
int main()
{
int a=0x41;
printf("%d\n",a);
printf("%c\n",a);
printf("%x\n",a);
}
运行的结果是:
指针
①指针是有粗细的
举一个不恰当的例子
int a=0x41424344’
char *p_char=&a;
short *p_short=&a;
int *p_int=&a;
*p_char=0;
输出*p_char的值显示为0x41424300
*p_short=0;
输出*p_short的值显示为0x41420000
*p_int=0;
输出*p_int的值显示为0x00000000
这足以表明指针的粗细。
②指针的摆动(加减法)比如说:
char p[]={1,2,3,4,5,6,7,8,9,0};
char *p_char=&a;
short *p_short=&a;
int *p_int=&a;
*p_char=0;
输出*(p_char+1)的值显示为0x2
*p_short=0;
输出*(p_short+1)的值显示为0x403
*p_int=0;
输出(*p_int+1)的值显示为0x8070605
可以看出指针的摆动是和指针的粗细有关的。