質問編集履歴
2
意図的に内容を抹消する行為にあたるため
    
        title	
    CHANGED
    
    | 
         @@ -1,1 +1,1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            c言語に 
     | 
| 
      
 1 
     | 
    
         
            +
            c言語でアドレス先の数値を参照するときに発生したエラーの意味を教えてください!!
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,1 +1,34 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            C言語でポインタ変数の使い方について学んでいる最中です。Xcodeで以下のようなソースコードを打ったところ、エラーが発生してしまいました。エラーの内容と解決方法について教えてください。
         
     | 
| 
      
 2 
     | 
    
         
            +
            ソースコード↓
         
     | 
| 
      
 3 
     | 
    
         
            +
            #include <stdio.h>
         
     | 
| 
      
 4 
     | 
    
         
            +
            int main()
         
     | 
| 
      
 5 
     | 
    
         
            +
            {
         
     | 
| 
      
 6 
     | 
    
         
            +
               int a = 123;
         
     | 
| 
      
 7 
     | 
    
         
            +
               int b;
         
     | 
| 
      
 8 
     | 
    
         
            +
               int *p;
         
     | 
| 
       1 
     | 
    
         
            -
             
     | 
| 
      
 9 
     | 
    
         
            +
               printf("aのアドレスは %d \n",&a);
         
     | 
| 
      
 10 
     | 
    
         
            +
               printf("bに代入 => ");
         
     | 
| 
      
 11 
     | 
    
         
            +
               scanf("%d",&b);
         
     | 
| 
      
 12 
     | 
    
         
            +
               p = b;
         
     | 
| 
      
 13 
     | 
    
         
            +
               printf("\n");
         
     | 
| 
      
 14 
     | 
    
         
            +
               printf("aの値は %d \n",a);
         
     | 
| 
      
 15 
     | 
    
         
            +
               printf("bの値は %d \n",b);
         
     | 
| 
      
 16 
     | 
    
         
            +
               printf("pのアドレスは %d \n",&p);
         
     | 
| 
      
 17 
     | 
    
         
            +
               printf("pの値は %d \n",p);
         
     | 
| 
      
 18 
     | 
    
         
            +
               printf("*pの値は %d \n",*p);   ← エラー場所
         
     | 
| 
      
 19 
     | 
    
         
            +
            }
         
     | 
| 
      
 20 
     | 
    
         
            +
            エラーメッセージ ↓
         
     | 
| 
      
 21 
     | 
    
         
            +
            Thread 1: EXC_BAD_ACCESS (code=1, address=0xffffffffefbff41c)
         
     | 
| 
      
 22 
     | 
    
         
            +
            実行モニター(右画面)↓
         
     | 
| 
      
 23 
     | 
    
         
            +
            aのアドレスは -272632804
         
     | 
| 
      
 24 
     | 
    
         
            +
            bに代入 => -272632804
         
     | 
| 
      
 25 
     | 
    
         
            +
            aの値は 123
         
     | 
| 
      
 26 
     | 
    
         
            +
            bの値は -272632804
         
     | 
| 
      
 27 
     | 
    
         
            +
            pのアドレスは -272632816
         
     | 
| 
      
 28 
     | 
    
         
            +
            pの値は -272632804
         
     | 
| 
      
 29 
     | 
    
         
            +
            (lldb) 
         
     | 
| 
      
 30 
     | 
    
         
            +
            左画面(使い道はよくわからない)↓
         
     | 
| 
      
 31 
     | 
    
         
            +
            b   int   -272632804
         
     | 
| 
      
 32 
     | 
    
         
            +
            p   int *   0xffffffffefbff41c
         
     | 
| 
      
 33 
     | 
    
         
            +
            a   int   123
         
     | 
| 
      
 34 
     | 
    
         
            +
            某動画配信サービスではこのプログラムで普通に動いていたようです。これはXcode特有で発生するエラーでしょうか?このエラーを解除する方法などがあればご教授いただきたいです。
         
     | 
1
解決しました
    
        title	
    CHANGED
    
    | 
         @@ -1,1 +1,1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            c言語 
     | 
| 
      
 1 
     | 
    
         
            +
            c言語についての質問
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -1,42 +1,1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            C言語でポインタ変数の使い方について学んでいる最中です。Xcodeで以下のようなソースコードを打ったところ、エラーが発生してしまいました。エラーの内容と解決方法について教えてください。
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            ソースコード↓
         
     | 
| 
       4 
     | 
    
         
            -
            #include <stdio.h>
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            int main()
         
     | 
| 
       7 
     | 
    
         
            -
            {
         
     | 
| 
       8 
     | 
    
         
            -
                int a = 123;
         
     | 
| 
       9 
     | 
    
         
            -
                int b;
         
     | 
| 
       10 
     | 
    
         
            -
                int *p;
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
      
 1 
     | 
    
         
            +
            解決できました。どうやら変数bにアドレスを入れたことがダメでbをポインタ変数宣言すれば解決しました
         
     | 
| 
       12 
     | 
    
         
            -
                printf("bに代入 => ");
         
     | 
| 
       13 
     | 
    
         
            -
                scanf("%d",&b);
         
     | 
| 
       14 
     | 
    
         
            -
                p = b;
         
     | 
| 
       15 
     | 
    
         
            -
                printf("\n");
         
     | 
| 
       16 
     | 
    
         
            -
                printf("aの値は %d \n",a);
         
     | 
| 
       17 
     | 
    
         
            -
                printf("bの値は %d \n",b);
         
     | 
| 
       18 
     | 
    
         
            -
                printf("pのアドレスは %d \n",&p);
         
     | 
| 
       19 
     | 
    
         
            -
                printf("pの値は %d \n",p);
         
     | 
| 
       20 
     | 
    
         
            -
                printf("*pの値は %d \n",*p);    ← エラー場所
         
     | 
| 
       21 
     | 
    
         
            -
            }
         
     | 
| 
       22 
     | 
    
         
            -
            エラーメッセージ ↓
         
     | 
| 
       23 
     | 
    
         
            -
            Thread 1: EXC_BAD_ACCESS (code=1, address=0xffffffffefbff41c)
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
            実行モニター(右画面)↓
         
     | 
| 
       26 
     | 
    
         
            -
            aのアドレスは -272632804 
         
     | 
| 
       27 
     | 
    
         
            -
            bに代入 => -272632804
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
            aの値は 123 
         
     | 
| 
       30 
     | 
    
         
            -
            bの値は -272632804 
         
     | 
| 
       31 
     | 
    
         
            -
            pのアドレスは -272632816 
         
     | 
| 
       32 
     | 
    
         
            -
            pの値は -272632804 
         
     | 
| 
       33 
     | 
    
         
            -
            (lldb)  
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
            左画面(使い道はよくわからない)↓
         
     | 
| 
       37 
     | 
    
         
            -
            b	int	-272632804
         
     | 
| 
       38 
     | 
    
         
            -
            p	int *	0xffffffffefbff41c
         
     | 
| 
       39 
     | 
    
         
            -
            a	int	123
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
            某動画配信サービスではこのプログラムで普通に動いていたようです。これはXcode特有で発生するエラーでしょうか?このエラーを解除する方法などがあればご教授いただきたいです。
         
     |