1
网址关于指针的内容都看看吧,最难,但是不难,看看!!!
https://www.nowcoder.com/profile/7838045/myFollowings/detail/3445247(下列代码的输出是什么
)
http://blog.csdn.net/chhuach2005/article/details/23659479
char *s1 = "zcl123";
cout << *(char*)s1 << endl;
cout << (int)(s1) << endl;
cout << (int)(s1+1) << endl;
printf("%s\n", s1 + 3);
cout << s1 + 3 << endl;
1
正数的原码 反码 补码是一样的
负数的反码是符号位不变的情况下,其它位全部取反; 补码是在其反码的基础上加1;
2
int a = '0', b = '\0';
printf("%d\t%d\n", a,b);\\50 0
if (a)
cout << "yes" << endl;\\yes
if (b)
cout << "no"<< endl;\\不输出
if() 括号里放一个char类型变量,是判断什么的char型变量ASC码是不是0;
3
剑指offer 24题 递归用法,sequence数组输入函数就退化为数组第一个数的指针, 在递归内部判断sequence数组后半部分时,sequence+i作为函数参数,代表指针后移i位的意思。
bool VerifySquenceOfBST(int sequence[], int length)
{
// 判断左子树是不是二叉搜索树
bool left =true;
if(i > 0)
left = VerifySquenceOfBST(sequence, i);
// 判断右子树是不是二叉搜索树
bool right = true;
if(i < length - 1)
right = VerifySquenceOfBST(sequence + i, length - i - 1);
}