반응형
[return & 주소]
return타입은 오직 한개만을 return할 수 있다. 하지만 코딩을 하다보면 2개 이상의 값을 return을 해야할 때가 있다. 그럴때는 매겨변수로 값을 넘겨주는 것이 아닌 주소값을 넘겨 주는 것이다. 즉, input(temp, &valu); 로 넘겨주면 받는 함수는 void input(int temp, int *valu)로 받으면 된다. 여기서 받는 함수가 void형인 것은 주소값을 넘겨 주었기 때문에 구지 return을 통해 값을 반환할 필요가 없기 때문이다. 즉, 주소값을 통해 직접적으로 그 값에 관여할 수 있는 것이다.
[기억클래스 종류]
정리하기 힘든 관계로 책 참고 바람. (귀찮은건 정말 참을수 없어~ - 3-)
[배열]
배열이랑 같은 type, 같은 size를 같은 이름으로 연속된 memory로 할당 받아서 관리하는 기법을 말한다. 특히, 배열명은 아주 특별하다. 일반 변수명들과는 완전히 다르다.
배열명은,
1. 그 배열의 시작 주소상수와 같다.
2. 그 배열의 전체크기(size) 정보를 가지고 있다.
예를 들어,
int a[3]={10, 20, 30}; (a의 주소값 100)
에서 a를 출력하면 a의 주소값이 출력된다. 여기서 a+1을 하면 뭐가 나올까? 101이 아닌 104가 나올 것이다. 왜냐하면 a+1의 1은 그냥 1이 아니라 사실은,
a(주소값)+1*size(배열의 크기, 여기서는 int이기 때문에 4) 임으로 104가 나오게 될 것이다.
[값 & 주소값]
일반적인 자료형인 int, long, double, float, char는 각각의 크기를 가지고 있다. 하지만 주소값인 int*, long*, double*, float*, char*은 무조건 4byte이다. 물론 이거는 window에서 그렇고 dos에서는 2byte가 된다.
[& / *]
내가 이 강의를 듣고 있는 이유가 저 2개의 문자들 때문이다. 저게 뭔지는 알고있다. 쓸줄도 안다. 근데 제네들의 본질이 파악이 안된다... 그래서 조금만 복잡해지면 뭔개소린지 이해를 하기가 싫어진다... 일단 저게 뭐냐하면,
& : 주소값을 넘겨줄때 사용, 상수 a앞에 &를 붙이면 a의 주소값을 알 수 있다.
* : 주소값을 받을때 사용, a[0]={10}일때 *a를 하면 주소값 a가 아닌 a에 저장된 값을 알 수 있다.
물론 이게 전부는 아니다. 하지만 일단 오늘 배운 것은 이것이 전부이다.
return타입은 오직 한개만을 return할 수 있다. 하지만 코딩을 하다보면 2개 이상의 값을 return을 해야할 때가 있다. 그럴때는 매겨변수로 값을 넘겨주는 것이 아닌 주소값을 넘겨 주는 것이다. 즉, input(temp, &valu); 로 넘겨주면 받는 함수는 void input(int temp, int *valu)로 받으면 된다. 여기서 받는 함수가 void형인 것은 주소값을 넘겨 주었기 때문에 구지 return을 통해 값을 반환할 필요가 없기 때문이다. 즉, 주소값을 통해 직접적으로 그 값에 관여할 수 있는 것이다.
[기억클래스 종류]
정리하기 힘든 관계로 책 참고 바람. (귀찮은건 정말 참을수 없어~ - 3-)
[배열]
배열이랑 같은 type, 같은 size를 같은 이름으로 연속된 memory로 할당 받아서 관리하는 기법을 말한다. 특히, 배열명은 아주 특별하다. 일반 변수명들과는 완전히 다르다.
배열명은,
1. 그 배열의 시작 주소상수와 같다.
2. 그 배열의 전체크기(size) 정보를 가지고 있다.
예를 들어,
int a[3]={10, 20, 30}; (a의 주소값 100)
에서 a를 출력하면 a의 주소값이 출력된다. 여기서 a+1을 하면 뭐가 나올까? 101이 아닌 104가 나올 것이다. 왜냐하면 a+1의 1은 그냥 1이 아니라 사실은,
a(주소값)+1*size(배열의 크기, 여기서는 int이기 때문에 4) 임으로 104가 나오게 될 것이다.
[값 & 주소값]
일반적인 자료형인 int, long, double, float, char는 각각의 크기를 가지고 있다. 하지만 주소값인 int*, long*, double*, float*, char*은 무조건 4byte이다. 물론 이거는 window에서 그렇고 dos에서는 2byte가 된다.
[& / *]
내가 이 강의를 듣고 있는 이유가 저 2개의 문자들 때문이다. 저게 뭔지는 알고있다. 쓸줄도 안다. 근데 제네들의 본질이 파악이 안된다... 그래서 조금만 복잡해지면 뭔개소린지 이해를 하기가 싫어진다... 일단 저게 뭐냐하면,
& : 주소값을 넘겨줄때 사용, 상수 a앞에 &를 붙이면 a의 주소값을 알 수 있다.
* : 주소값을 받을때 사용, a[0]={10}일때 *a를 하면 주소값 a가 아닌 a에 저장된 값을 알 수 있다.
물론 이게 전부는 아니다. 하지만 일단 오늘 배운 것은 이것이 전부이다.
반응형
'Computer & Program > 잡다한 이모저모' 카테고리의 다른 글
유닉스 기본 명려어 (0) | 2009.07.06 |
---|---|
특수기호 이름들 (0) | 2009.07.06 |
7/ 15, 7/16 3, 4번째 수업 (1) | 2009.07.06 |
7/21강의 (1) | 2009.07.06 |
7/14수업 C언어의 개략적인 내용 (0) | 2009.07.06 |
댓글