关闭

黑马程序员--小结

138人阅读 评论(0) 收藏 举报

------- 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培训、期待与您交流! ----------

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4669次
    • 积分:277
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章存档