char*p=str;
上記の*pの部分がエラーを出してしまいます。
タイトルにある通り、pをstrにして*pの値を表示させたいです。
できるならば理由を教えていただけると助かります。
もし答えを教えたくないということならば答えにたどり着くためのヒントのようなものを出してもらえるとありがたいです。
みなさんの回答お待ちしております。
html
1コードの表示(ブロック) 2 3#include <stdio.h> 4 5int main(void) { 6 char *p; 7char str[20]={'a','b','c','d','e','f','g'}; 8char *p=str; 9printf("%d\n",*(p+2)); 10printf("%d\n",*(p+4)); 11printf("%p\n",&*(p+2)); 12printf("%p\n",&*(p+4)); 13printf("%d\n",str[2]); 14printf("%d\n",str[4]); 15 16 return 0; 17}
エラーが出るならエラーメッセージを提示しましょう
エラーメッセージは余計な翻訳省略しないで出たそのママを提示願います
clang-7 -pthread -lm -o main main.c
main.c:6:7: error:
redefinition of 'p'
char *p=str;
^
main.c:4:9: note:
previous definition
is here
char *p;
^
このようなエラーが出てしまいます。
返信お待ちしております。
すみません。回答されていましたね。
しかし、最初になぜ*pを宣言しなくとも処理ができるのかがわかりません。できれば教えていただけると助かります。
エラーメッセージをGoogle翻訳にでもかけてみれば。
#回答してしまいましたが
回答2件
あなたの回答
tips
プレビュー