배열 ¶
Round 0,1
배열이 근본적으로 포인터란 것은 이미 알고 있었으나 실제 컴파일러에서 이런식으로 표현 된다는 것을 배웠다.
ex)
printf("%d",arr);
실제 메모리상에서는 2차원이든 3차원이든 메모리상에서는 그냥 선형으로 저장된다.
사실 이것도 새싹교실때 이미 배웠던 내용. 원희형.. 보고싶어요.
사실 이것도 새싹교실때 이미 배웠던 내용. 원희형.. 보고싶어요.
포인터 ¶
Round 0,1
datatype* : 포인터 자료형 선언법 -> 이게 독자적인 자료형이라고 봐도 무관.
*val_name : 해당 포인터변수가 가르키는 변수의 값을 참조
&val : &연산자 우측의 주소값을 불러온다.(이건 val자리에 들어가는 변수가 포인터 자료형이 아니여도 됨)
*val_name : 해당 포인터변수가 가르키는 변수의 값을 참조
&val : &연산자 우측의 주소값을 불러온다.(이건 val자리에 들어가는 변수가 포인터 자료형이 아니여도 됨)
포인터 변수에 주소값이 저장된다고 생각하는것보다. 그 주소에 해당하는 변수를 가르킨다고 생각하는게 옳다.
다중 포인터도 배웠다.
구조체 ¶
Round 1
- 선언법
1)
typedef struct name{
data...
data...
...
}nickname;
사용할땐 nickname만 써주면 된다.
2)
struct name{
date...
...
}
사용할때마다 struct name 라고 해야한다.
3)
typedef struct{
data...
...
}nickname;
닉네임만 선언하는 방법. 비표준이란다.
- 개념
의미가 통하는(?) 유용한 (?) 데이터들을 그룹화 한다고 생각하면 된다.
일단 해두면 sort할때 매우 편하다 한가지만 sort해두면 나머지도 따라오니까!