[ 흥달쌤 유투브 강의 정리 ]
https://www.youtube.com/watch?v=wgdLUvIYprY
(21강) 배열(1)
* 배열이란?
같은 자료형의 변수를 연속적으로 묶어 놓은 저장공간.
* 배열의 선언
int a [ 5 ] 자료형/배열명 /개수
=> a[0] a[1] a[2] a[3] a[4] 라는 5개의 메모리 공간 생성.
a라는 변수는 첫번째 공간(배열의0번지)의 메모리 주소값을 가진다.
( a[0]의 주소값이 '100'이라면 a가 가지는 주소값도 '100' )
* 이차원 배열
같은 자료형의 변수를 행과 열의 연속적인 공간으로 묶어 놓은 것.
총 6개의 공간 생성. (실제로는 1차원 배열처럼 나란히 저장.)
=> 2
msg[2] ~ msg[12] 일때 까지 반복. ( " H e l l o V W o r l d ! V G o d V L u c k ! " )
msg[4] = 'o' , msg[7] = 'o' 일떄만 number++
(22강) 배열(2)
=> notian
i=0 ; str[0] 과 str[5] 바꾸기 => nation
i=1 ; str[1] 과 str[4] 바꾸기 => notian
i=2 ; str[2] 과 str[3] 바꾸기 => noitan
i=3 ; str[3] 과 str[2] 바꾸기 => notian
(23강) 포인터
* 포인터란?
메모리의 위치를 표현한 기호.
* 포인터 변수 선언
1. a는 포인터 변수 (주소값을 가지는 변수)
2. *a (a의 값_ a가 가르키는 주소에 할당된 값) = 10
3. printf("%d", a) _ a의 주소값(번지수) 출력
4. printf("%d", *a) _ a의 주소값(번지수)에 할당된 값
=> a의 주소값이 100번지라면, 100번지의 값이 10
printf("%d", a) => 100
printf("%d", *a) => 10
* 변수의 주소 찾기
1. a는 포인터 변수
2. a에 b의 주소값 할당
=> b의 주소값이 102번지라면, a는 102번지, *a는 10
printf("%d", *a) => 10
printf("%d", b) => 10
=> 30
B = A -- ( B에 A의 값을 대입한 이후에 A에 '--' 연산 적용. )B += 20
A = 9 => 100번지 // B = 30 => 101번지 // C는 101번지.
=> *C는(B의 값_101번지의 값) 30
(24강) scanf와 변수
* scanf
사용자의 키보드로 입력받을 때 사용하는 함수.
형식 => scanf("%d", 변수의 주소);
* scanf 사용법
=> 90, 20, 90
=> scanf 로 입력받는 값을 k의 주소에 할당
'정보처리기사 > c언어강의' 카테고리의 다른 글
[C언어(강의)] 29강~ 34강 (2차원 배열과 포인터, 포인터 배열) (0) | 2024.07.15 |
---|---|
[C언어(강의)] 25강~28강 (배열과 포인터) (0) | 2024.06.22 |
[C언어(강의)] 19강~20강 (for, continue, break, 다중for문) (0) | 2024.06.22 |
[C언어(강의)] 14강~18강 (if문, switch문, 반복문, for문, while문, do~while문) (0) | 2024.06.02 |
[C언어(강의)] 12강~13강 (매크로, 비트연산, 삼항연산자) (0) | 2024.06.02 |