1.
栈混洗,主要问题就是在于123的顺序进入,不能出现312的出战顺序。这样多个的时候也是类似的。
2.关于数组名和指针。数组名指向一种数据结构,但是可以转换为指针,且为指针常量。
数组就是数组,但是他可以隐式转换成指针。当一个重载函数分别接受数组和指针的时候,肯定还是数组的那个命中。参见sizeof和strcpy_s。
数组不能被直接复制,所以当数组名作为函数参数的时候,要么就是数组的引用,要么就是指向第一个元素的指针,他们的值是相等的。当你对一个数组做&的时候,他提取的是指向数组的指针,然后仍然可以隐式转换成指向第一个元素的指针,而且它们的值是相等的。所以对于printf这种只认binary的函数来讲,自然会输出一样的结果。
作者:vczh
链接:https://www.zhihu.com/question/23059655/answer/23484315
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
对于a[2][3].这儿a为二维数组指针。a+1位第二行。*(*(a+1)+2)等于a[1][2]
一维数组名作为函数参数实际上是退化为指针,二维数组名实际就是数组指针。函数传参不能自动退化了。http://blog.csdn.net/zhouxuguang236/article/details/12256321
补码求法,符号位不变,其他位取反,最后再加1.
对于补码可以看假设有四个数。
000 0
001 1
010 2
011 3
100 -4
101 -3
110 -2
111 -1
看这样就不错了。直白。但还是不明白那个360溢出会不会溢出。
while(a+b>0){
a++;b--;
}
return a+b;.这个到底会不会溢出跳出循环。