int类型的变量一般占用4个字节对烸一个字节赋值0的话就变成了“000 ” (即10进制数中的0)
赋值为-1的话,放的是 “11 ”(十进制的-1)
这样你可能以为如果你赋值1的话会让整个dp数组裏的每一个int变成1其实不然。
以上代码执行后dp数组的内容为 01 转化为十进制后不为1
我们在很多程序中都会看到这样的代码,
127是什么特别的數字呢通过基础的进制转换可以得知127的二进制表示是,那么在dp数组里放的内容就是“11 ”(10进制的),这样就实现了将数组里的全部元素初始化为一个很大的数的目的了在最短路径问题以及其他很多算法中都是需要用到的。值得注意的是int类型的范围为2^31-1,大约是的样子(如果我没有记错的话)所以初始化int类型的数组也可以使用127这个数值。
如果是128呢因为128的二进制是,那么放的内容就是00 经过计算可得這个数是-。这样就可以将数组初始化为一个很小的数了
若ptr指向char型,初始化值任意
若ptr指向其他(如int)初始化值只能是 -1 or 0