这里随时记录一些自己想的主意和自己很喜欢的算法或者其他乱七八糟的吧!!!可能不太完善,求指教!
1.不设置第三个变量交换两个变量的值:
解决思想:通过加减法隐含的把数据临时的存储起来!
代码:
a=3;
b=4;
b=a+b;
a=b-a;
b=b-a;
然后就会出现:a=4;b=3;。。。。。。。。。的结果
2.简单的算术优先级别:*和++
*p++ <=> *(p++) <=> p=p+1;
(*p)++ <=> *p=*p+1;
*(++p) <=> *++p <=> *(p+1) <=> p=p+1
++*p 或者 ++(*p) <=> *p=*p+1;
3.结构指针的使用方法:
struct info
{
short num;
char name[5];
}
struct info *p_info;
struct info myinfo;
则有三种等价的表达方式:
myinfo.num <=> (*p_info).num <=> p_info->num
4.使用数组名作为函数参数
当使用普通的数组元素作为函数参数时,和普通的变量是一样的,系统会为形参分配内存空间,但是如果传入的是数组名为参数,形参数组是不存在的,或者说形参和实参是共用一块儿内存区。对形参数组的操作即为对实参数组的操作。