在C51中,如果定义一个指向unsigned char型变量的指针 ,则定义为 unsigned char data *point;
如果指针*point所指的变量是xdata,也就是说有一个变量为 unsigned char xdata i; 那么point = &i 时,(*point)应该是一个0x0000~0x7FFF(假定是一个64K的RAM)中的某一个地址
如果指针*point所指的变量是data,也就是说有一个变量为 unsigned char data j; 那么point = &j 时,(*point)应该是一个0x00~0x7F中的某一个地址
也就是说(*point)中的内容有可能是一个字节也有可能两个字节
那在系统分配地址时,当定义unsigned char data *point时,他分配的地址是几个字节? |