Pointers and arrays in C语言
2020summer cs61c的hw2遇到这样的问题
题目一
题目二
解题思路如下
x,y都是pointer
x是int pointer y是char pointer
pointer contains地址
这里的x是个十六进制数
x+1是x+1*(size of int in byte) 所以x+1的地址是 x+4 (指针向前走4byte)而这个地址指向的是这个int array的下个element
y+3是y+3*(size of char in byte) 所以y+3的地址是y+3(指针向前走3byte),而这个地址指向的是
这4个格子代表32bit整数(254) 1个格子代表8bit 也就是1byte
0b11111110前面3个byte都是0
y指针往前走三个byte 到256
(这种0-0-0-256的排序方式叫big endian)
Note1:
Note2: char*
是char pointer