での作業私の質問はここでchar型のポインタchar型のポインタと整数ポインタ
を参照解除についての私のコードです - 私はSのアドレスが割り当てられている上記のコードで
#define MAX 10
char s[80]="Hello";
int main(){
char *stackValue;
stackValue=&s;//here I assined the address of s to stackValue
if(!stackValue){
printf("No place for Value");
exit(1);
}
else{
printf("\n%s",*stackValue);//This doesn't work with * before it
printf("\n%s",stackValue);//This works properly
}
return 0;
}
がstackValueに[]と私は* stackValueを印刷しているときに動作しません。
しかし、私は 'stackValue'しか印刷しません。
私は整数
int main(){
int i=10, *a;
a=&i;
printf("%d",*a);//this gives the value
printf("%d",a)//this gives the address
return 0;
}
と同じことを行うchar型のポインタと整数ポインタを印刷することは異なっています。私がint値で*を使用すると、値を与えますが、charポインタとして使用するとエラーが発生します。
お手伝いしますか?最初のコードスニペットで
、および私は 'stackValue'だけを印刷すると値 – uniqueNt
が印刷されても問題ありません。何も起こらないことを意味する未定義の動作です。あなたのコードは最初から間違っていますので、間違ったprintfで詳述する必要はありません。 – artm
もう一度私のコードを修正しても正しい出力が得られない – uniqueNt