【1】按照你的描述:uchar data *p; char a='a'; p=(uchar data *)a;这句话就是将字符变量a保存的字符的ASCII码(此例中是97)当成一个指向uchar data类型数据的指针赋值给p,相当于p=(uchar data *)97;变量p将指向地址是97的一个存储区。总之就是拿a中存放的字符数据当成指针赋值。【2】如果a是这样定义的:char a[20];那么赋值的结果就是将a的首地址赋值给p,那么后面使用p指向的数据进行赋值和计算时全都实际上用数组a的存储区。...