C Language study3 포인터(pointer)(2) 0. 함수에서 선언된 변수(지역)들은 메모리의 영역에서 거의 근처에 존재한다. 1. 매개변수로 포인터가 나온다고 해서 주저하지 말자! -> 매개변수로 다른 함수의 변수 주소를 받기 위해서는 포인터가 필요한 것이다. -> 간단하게 포인터가 나오면 주소를 받아온다고 생각하자. -> 매개변수로 넘겨줄 때는 &를 붙여서 주소값을 보내줘야한다. 2. 두 변수의 값 서로 바꾸기 만약 Swap함수를 따로 정의해서 a와 b의 두 값을 바꾸게 된다면 일반적인 swap문으로는 swap이 발생하지 않는다. 왜냐하면 swap함수의 변수는 swap이 발생하지만 main문에서의 변수간의 swap이 일어나지 않기 때문이다. # C 언어 void Swap(int a, int b){ int temp = a; a = b; b = tem.. 2023. 12. 6. C언어의 기본적인 부분 1. 먼저 printf라는 함수를 사용할 때 항상 서식문자를 사용해야지 오류가 나지 않는다. ex ) int a = 1; printf(a) X int a = 1; printf("%d", a) O 2. 변수의 값을 변경하는 경우 변수의 type을 다시 선언하면 안된다. 변수를 초기화할 때는 타입과 변수명 모두 필요하지만 값의 변경이 있을때에는 변수만 사용한다. ex ) int a = 1; int a = 2; X int a = 1; a = 2 O 3. C언어에서는 타입 변수를 잘 알아야하는데 float과 double같은경우 scanf("%lf", &ft); scanf("%f", &ft); 에서 차이가 있다. 전자의 경우는 long float이기 때문에 double 타입의 변수에 대응되고 float의 경우는 .. 2023. 12. 4. 포인터(pointer)(1) 본 글은 Do it! C언어 입문 책을 기반으로 작성하였습니다. - 프로그래밍 언어의 기계어 변환 과정(C언어 기반) .cpp -> 전처리 -> .i -> 컴파일 -> .s -> 어셈블링 -> .o -> 링킹 -> .exe(실행파일) 프로그래밍 코드 -> 컴파일러 -> 어셈블리어 -> 어셈블러 -> 기계어(binary) -> 링크 -> 실행파일 - 운영체제의 메모리 관리 방식 직접 주소 지정 방식 : 만약 1042를 2바이트 크기로 저장한다고 하면 한 바이트에 4, 나머지 바이트에 18을 저장한다. 리틀엔디안, 빅엔디안에 따라서 저장위치가 달라지겠지만 한 바이트는 8비트이기 때문에 1042를 2진수로 나타내면 0000 0100 0001 0010 이다. 해당 비트를 8비트씩 끊어서 저장하게 되는 형식이다... 2023. 12. 1. 이전 1 다음