黑马程序员--小结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值