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|