改成*h=*h<<1 |
非指针变量,变量里面装的是值 指针变量,里面装的地址 uchar c=1 : 表示c这个单元里装的是uchar数据。&c 表示获得c这个单元所在的地址。 uchar *c :表示c这个单元里装是一个地址,这个地址里装的是一个uchar数据。*c就是取得这个uchar数据;而直接使用c,得到的是一个地址; |
定义了指针h,但是后面没有用到这程序也用不到指针,直接对变量c进行操作就行,把*c=*c<<1改成 c=c<<1。如果是想练一下指针,那就改成*h=*h<<1。 |
unsigned char c = 0x01;//c 是字符,不是指针 unsigned char *h; //h h = &c; // h是指针,将字符 地址赋给指针是可以的 *c = *c<<1; //c 不是指针, 改为 :*h = (*h) << 1; 是可以的 |