您的位置:首页 > 职场人生

黑马程序员--小结

2015-07-08 19:03 351 查看
------- android培训java培训、期待与您交流!
----------

总结的都是些我不明白,容易忘的,留着我忘掉的时候再来回头看看。

1,二进制

二进制
0b或者0B开头

八进制
O开头

十六进制 0x或者0X开头

打印:

int a = 12;

printf("%d\n",a);//十进制

printf("%o\n",a);//八进制

printf("%x\n",a);//十六进制

2,a与b交换

a = a +b;
b = a - b;
a = a - b;
//或者

a = a^b;
b = a^b;
a = a^b;


3,打印地址

int num = 10;
char *p = #
printf("第1字节地址:%p ,值:%d\n",p,*p);
printf("第2字节地址:%p ,值:%d\n",p+1,*(p+1));
printf("第3字节地址:%p ,值:%d\n",p+2,*(p+2));
printf("第4字节地址:%p ,值:%d\n",p+3,*(p+3));


4,初始化

int a[10] = {[3] = 11};// 0,0,0,11,0,0,0,0,0,0
char ch[10] = {'a','b','c'};
//以%d打印 :97,98,99,0,0,0,0,0,0,0


char str[10];
scanf("%s",str);
//以%s赋值时,注意空格,遇到空格,会被当成\0,则后续字符无法接收
char str2[10];
gets(str2);
//会报warning,无法判断输入的字符是否超过长度,会产生越界
char str3[10];
fgets(str3,sizeof(str3),stdin);//stdin 标准输入缓冲区


5,存储

1,静态存储区域分配:在编译时变好,全局变量与static量

2,栈上创建存储:局部变量

3,堆分配,动态分配:在运行的时候创建,数组与对象为堆分配,动态分配

c的5大区:栈,堆,bss(存储未初始化的全局变量或未初始化的静态变量),数据段(已初始化的全局与静态变量),代码段(编译后的代码)

6,指针函数与指针函数

指针函数:函数类型即为返回值类型,返回值为指针的的函数,即为指针函数

函数指针:

在C语言中,一个函数总是总用一个连续的内存区域,而函数名则是该函数所占内存的首地址,将该函数的首地址赋予 一个指针变量,则通过这个指针变量即可访问并调用这个函数,这类的指针变量即为函数指针。

初始化:

函数

int add(int x,int y){
//代码
}

int (*p)(int ,int);
p = add;


------- android培训java培训、期待与您交流!
----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: