2011-01-14 5 views

答えて

-1

に行うの方法は、唯一のアドレスを格納することができ

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

または

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

のポインタです。

+0

あなたは '&'が不足しているように見えます。 –

+0

私は私の質問を適切に作成できないと思う。私はこのように書きます。私は0x11でchar a = Aをビットごとにやりたい。そのコンパイルエラーです。 (&0x11) – sandeep

5

aは、メモリロケーション65の文字を指す変数です。通常、オペレーティングシステムは、そのようなアドレスへのアクセスを許可せず、セグメンテーション違反を与えます。

aをポインタとして宣言しても、それは機能します。

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

それでも、結果はcharの符号の有無と使用される文字セットに依存します。

3

charへのポインタに文字('A'、一重引用符)を間違って格納しています。この場合、文字列("A"、二重引用符)へのポインタを格納することでこれを修正できます。これらの文字列は定数なので、constも追加する必要があります。

const char *a = "A"; 
char v = (*a) & 0x11; 
関連する問題