ㅈ
주석참고
1 2 3 4 5 | short a; short *b; a = 10; *b = 20; //포인터는 생성할때 부터 메모리를 가질 수 없다. | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 | short a=10; short *b; b = &a; //공유되었다고한다. 이때부터 b가 메모리를 가지기 시작 //주소를 가지고있는 a가 b에게 주소를 준다. //메모리를 공유하면 주소가 같다. printf("%d %d\n", a, *b);//그냥 각자의 값을 나타냄 printf("%d %d\n", &a, b);//a와 *b의 주소를 나타냄 *b = 20; printf("%d \n", a);//공유되어있으므로 a=20을 가짐 a = 999; printf("%d \n", a);//다시 999 ->b도 999가 된다. | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | //포인터 변수는 가장최근에 받은 주소 한개만 기억 그 전것은 사라짐. short a = 10, b = 20; short *c; c = &a;//이제부터 메모리를 가짐 *c = 30; printf("%d %d %d\n", a, b, *c);//30 20 30 c = &b; a = 999; printf("%d %d %d\n", a, b, *c);//999 20 20 - 대입이 아니라 같은 값을 가진다고 보면됨? *c = 300; printf("%d %d %d\n", a, b, *c);//999 300 300 //&b=&a; 일반변수는 공유받을 수 없다. | cs |
1 2 3 4 5 6 | short a = 10; short *b, *c; b = &a;//10 10 - c = b;//포인터 끼리는 그냥 공유 (&안써도됨) *c = 100;//100 100 100 (마지막값을 기억한다) printf("%d %d %d\n", a, *b, *c);// | cs |
1 2 3 4 5 6 7 8 9 | short a, *b; short *c, d; b = &a; c = &d; printf("%d %d\n", *b, *c);//쓰레기값 두개 *b = 0, *c = 100; printf("%d %d\n", a, d);//0 100 b = c;//포인터끼리는 그냥 넣어도됨(b에다가 c 값을 공유) printf("%d %d %d %d\n",a,*b,*c,d);//0 100 100 100 | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | short a = 10, b = 20; short *c, *d; c = &a;//10 20 10 - d = &b;//10 20 10 20 short *t; // a b c d t t = c;// 10 20 10 20 10 c = d;// 10 20 20 20 10 d = t;// 10 20 20 10 10 printf("%d %d %d %d %d\n", a, b, *c, *d, *t); c = &a; printf("%d %d\n", &a, &b); c = &b;//d가 주소가 있다면 줄수 있음 printf("%d \n", c); | cs |
728x90
'비트 단기 > c' 카테고리의 다른 글
11/2 구조체 복습 앞부분 확실히 하기 (0) | 2018.11.05 |
---|---|
11/1 복습 포인터 보충1 (0) | 2018.11.05 |
11/2 (0) | 2018.11.02 |
11/1 (0) | 2018.11.01 |
10/30 pointer (0) | 2018.10.31 |
댓글