2011-01-14 96 views

回答

-1

它这样做的方式是

char i='A'; 
char *a = i; 

char i='A'; 
char *a; 
a=&i 

指针只能保存地址。

+0

看起来你缺少`&`。 – 2011-01-14 11:21:00

5

a是一个变量指向字符存储器位置65操作系统通常不允许进入这样的地址,给你一个segmention冲突。

如果声明a不是作为一个指针,那么它的工作原理。

char a = 'A'; 
char b = a & 0x11; 
printf ("%x %x\n", a, b); 

但是,结果取决于char和使用的字符集的符号性。

3

你错误地存储字符('A',单引号)转换成字符指针。您可以通过存储一个指向字符串解决这个问题("A",双引号),尽管在这种情况下,您还需要添加const因为这些字符串是常数。

const char *a = "A"; 
char v = (*a) & 0x11; 
相关问题