Pointers and arrays in C语言


Pointers and arrays in C语言
2020summer cs61c的hw2遇到这样的问题
题目一
Pointers and arrays in C语言
题目二Pointers and arrays in C语言
解题思路如下
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),而这个地址指向的是
Pointers and arrays in C语言

这4个格子代表32bit整数(254) 1个格子代表8bit 也就是1byte
0b11111110前面3个byte都是0
y指针往前走三个byte 到256
(这种0-0-0-256的排序方式叫big endian)

Note1: Pointers and arrays in C语言
Note2: char*
是char pointer

相关文章: