C

    변수와 메모리

    변수 하나만 정확히 이해해도 포인터의 반은 이해한 것이다. 변수는 데이터를 저장하기 위한 메모리 공간의 이름이다.메모리의 주소 하나는 1Byte 크기의 메모리 공간을 갖는다.예를 들어 크기가 4byte인 메모리의 주소는 총 4개의 주소를 사용한다. char형을 예로 살펴보도록 한다. char형은 1byte(8bit)이며, 문자를 저장하기 위해 사용되는 자료형이다.다음은 char형 변수를 메모리에 할당하는 예제이다. #include void main(){ char c = 'A'; printf("%d \n", sizeof(c)); printf("%c\n", c); } 출력결과1A 다른 변수도 해보면 int는 4byte, double은 8byte를 사용하기 때문에 사이즈가 다른걸로 나올 수 있다.이와 같이 모..

    Pointer(포인터)의 간단한 개념

    변수는 그 자체로 자신의 자료형에 맞는 값을 저장했다.포인터 변수형은 메모리 주소를 저장한다. ex ) int형 포인터(int *)는 int 변수값의 위치값을 저장한다고 생각하면 된다. 포인터 - 특정한 변수 자체가 존재하는 메모리 주소값을 가진다ex) int*a = &변수명; (주소값을 담는과정)정의부에서 사용하는 *은 '주소의 값'을 의미함. &는 포인터에서 주소를 가져올 때 사용 ( 주소연산자 )포인터 (*) - 포인터를 선언할 때 사용 ( 선언부 )간접참조 연산자(*) - 선언된 포인터 변수가 가리키는 변수를 구함 ( 정의부 ) 포인터는 다중으로도 사용 가능하다.포인터의 포인터가 존재 할 수 있다! #include int main(void){int a = 5;int *b = &a;int **c =..