《c陷阱与缺陷》1~3章 读后

 

得心应手的工具掌握起来的困难程度要大于普通工具

 

数组A[N]的下标为0~N-1

main的返回值0,表示成功调用

 

单引号引起的 整数:整数值对应于该字符在编译时字符集中的序列值。如‘A’

双引号引起字符串.如“hello”

 

Ifelse配对(else总是找最近的一个if

 

声明与定义:声明在头文件中,如果多个cpp用到了头文件,编译时重定义问题,这样有两个解决方法

if udefine/define或者加上声明前加上extern关键词 

指针与数组

数组只能确定该数组的大小;获得下标为0的元素的指针

其他操作都是指针运算

 

非数组的指针

分配字符串空间(长度为N的字符串需要N+1的空间

char *r;

r=malloc(strlen(s)+1);

 

作为参数的数组声明 

字符数组,字符指针%s输出时从当前的字符开始逐个输入,直到遇到/0为止)

char hello[]="hello world"; 

printf("%s/n",hello);字符串名称

作为参数的数组毫无意义,数组名立刻转换为指向该数组第一个元素的指针

char *p=hello;

printf("%s/n",&hello[0]);

printf("%s/n",p);

输出的都是整个字符串中的东西

 

int a,b,c;
printf("please input a,b,c");
scanf("%d,%d,%d",&a,&b,&c);地址
printf("a=%d,b=%d,c=%d",a,b,c);变量

&的作用进入电影院看电影要入场券而出来不用入场券(printf都用变量名为参数,但是在参数为数组名时等价于传指针

 

空指针不是空字符串

extern char p[]是空字符串

extern char *p可以指向任意字符串空间,指针要赋值

数组和循环的边界问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值