CS/깨알c언어
배열, 포인터
amungstudy
2023. 3. 27. 16:28
반복문 if, while은 조건 참일때 동작 수행한다. false인 경우 빠져나온다.
배열은 나중에 풀기 ~~
포인터: 메모리의 주소값을 표현한 변수.
int *a; 포인터변수선언
*a=10; a의 값에다가 10을 넣어라~
int b =10;
int *a;
a=&b; b의 주소값을 a에다가 집어넣어라.
printf("%d\n",*a); = 10;
printf("%d\n",b) =10
printf("%d\n",a); = b의 주소값(ex)102)
scanf : 사용자의 키보드로 입력받을때 사용하는 함수
scanf("%d,변주의주소);
ex>
int a;
scanf("%d, &a);
int *p = a+1
-> a+1번지가 p
2차원 배열과 포인터
a=100
a[0] (100) 1 2
a[1] (102) 3 4
a[2] (104) 5 6
a= 100
*a= 100
**a= 1
ex)
char a[3]={'a', 'b', 'c'}
a(100) |a|b|c| null
printf("%s\n", a); -> abc
- %s는 주소값을 받는것. 그 주소값에 있는 것을 null이 나오기 전까지 출력한다.
포인터 배열
- 배열의 요소가 포인터(메모리주소)로 이루어진 것.
ex)
char *student[3] = {"aaa", "bbb", "ccc"};
(100 101 102)
student(주소값100) |20 |30 | 40|
20 |a|a|a|
30 |b|b|b|40 |c|c|c|