728x90 반응형 자기개발50 [C언어 공부하기] 15. 배열과 포인터 - 우당탕탕 개발자 되기 프로젝트 포인터와 유사한 것이 바로 배열입니다. 배열은 배열 그 자체로 출력하는 방법도 있지만 포인터를 사용하여 출력하는 방법도 있습니다. 두 출력 방식의 결과는 동일합니다. 배열을 포인터를 사용하여 출력하는 방법은 역참조 연산자를 활용하여 배열 연산의 실제 값을 출력하는 방식으로 나타내었습니다. 배열 이름을 그냥 사용하면 배열의 시작 주소를 의미한다는 점을 활용하였습니다. 배열과 포인터를 사용하다 혼돈이 올 수 있으므로 자유롭게 사용하려면 개념과 구조를 완벽하게 이해하고 있어야 합니다. 그래야 헷갈림 없이 자유자재로 사용할 수 있을 것입니다. 배열은 포인터 상수이기 때문에 포인터 연산에는 증가 +와 감소 -만 존재합니다. 포인터 ( +/-) 정수 연산은 포인터가 가리키는 주소에 마치 배열이 있는 것처럼 메모리에.. 2023. 7. 1. [C언어 공부하기] 14. 포인터 - 우당탕탕 개발자 되기 프로젝트 포인터란 메모리의 주소를 가지고 있는 변수를 말합니다. 포인터를 사용하여 메모리에 접근할 수 있고 주소를 사용하여 값을 지정할 수도, 값을 읽을 수도 있습니다. 포인터를 선언하는 방법은 데이터 타입* 변수명 형태로 선언하거나 데이터 타입 *변수명 형태로 선언할 수 있습니다. 포인터 선언 시 사용하는 *를 포인터 수식어(곱셈 아님)라고 합니다. 포인터는 메모리의 주소를 가지고 있는 변수이기 때문에 사용하기 전에 꼭 초기화를 해줘야 합니다. 포인터 변수를 초기화하는 방법은 포인터를 선언해 주고 주소를 저장할 변수의 주소를 주소 참조 연산자 &를 사용해 지정해 주면 됩니다. 지정할 변수가 당장 없다면 NULL을 적어주어 주는 방법도 있습니다. NULL은 주소 0을 의미합니다. 선언된 포인터에 원하는 변수의 주.. 2023. 7. 1. [C언어 공부하기] 13. 메모리와 주소 - 우당탕탕 개발자 되기 프로젝트 포인터를 배우기 전에 메모리와 주소에 대해 알아보겠습니다. 대부분의 변수는 모두 메모리에 저장됩니다. 메모리에 저장된 변수는 해당 주소를 활용할 수 있습니다. 변수의 주소를 가져오는 연산자는 주소 참조 연산자 &입니다. 주소 참조 연산자 &를 사용하여 출력한 결과를 보면 %p 형식 지정자를 사용할 경우 변수의 주소가 16진수로 출력되고, %d 형식 지정자를 사용할 경우 10진수로 출력되는 것을 볼 수 있습니다. 배열의 주소는 배열의 첫 번째 원소의 주소를 의미합니다. 배열은 각 원소가 각각의 변수로 볼 수 있으므로 각 원소는 개별적인 주소를 지닙니다. 각 원소의 주소는 배열의 시작 주소에서 배열의 데이터 타입 크기만큼 증가한 위치입니다. 바이트(byte) 단위로 나뉘는 메모리는 연속된 바이트의 모임으로,.. 2023. 6. 30. [파이썬(Python) 공부하기] 5. 입력하기 - 우당탕탕 개발자 되기 프로젝트 파이썬에서 입력을 받을 때는 input() 함수를 사용합니다. input(문자열) 형식으로 사용하면 문자열을 화면을 출력하고 입력이 들어올 때까지 기다리고 있다가 입력이 들어오면 해당 값을 반환하게 됩니다. 특정 변수에 입력을 받고 싶다면 변수명 = input(문자열) 형식으로 작성하여 입력한 값이 해당 변수에 저장되도록 만들면 됩니다. input() 함수를 사용하여 입력받은 모든 값은 문자열의 타입으로 데이터가 저장됩니다. 따라서 숫자를 입력하더라도 해당 데이터 타입이 아닌 문자열의 타입으로 저장되는 것입니다. 따라서 입력하는 값을 원하는 데이터 타입으로 바꿔주는 작업이 필요합니다. 이 작업은 int(), float(), double() 등의 함수를 사용하여 데이터를 묶어주던 입력을 받는 함수 자체를 .. 2023. 6. 30. [C언어 공부하기] 12. 배열 - 우당탕탕 개발자 되기 프로젝트 배열은 여러 개의 변수를 한 번에 저장할 수 있는 자료형입니다. 배열의 각 공간에는 번호가 붙여져 여러 개의 변수를 사용하는 것과 유사하지만 변수보다 더욱 유용합니다. 배열을 선언하는 방법은 변수를 선언하는 방법과 비슷합니다. 데이터 타입 배열명[배열의 크기] 의 구조로 배열을 선언할 수 있습니다. 이렇게 선언된 배열을 초기화하지 않으면 배열의 각 원소에는 쓰레기 값이 들어가게 되므로 초기화를 해줘야 합니다. 배열을 초기화해 주는 방법은 { } 안에 배열 원소로 저장할 값을 콤마(,)로 구분하여 나열해 주면 됩니다. 여기서 배열의 원소로 들어갈 수 있는 값은 처음 배열을 선언할 때 지정해 준 배열의 데이터 타입과 일치해야 합니다. 배열을 초기화해 줄 때 지정해 준 배열의 크기보다 원소의 개수가 적으면 초.. 2023. 6. 30. [C언어 공부하기] 11. 함수의 형태 - 우당탕탕 개발자 되기 프로젝트 함수의 매개변수와 리턴 값의 유무에 따라 함수는 4가지의 형태로 나뉘게 됩니다. 매개변수와 리턴 값이 모두 없는 함수는 함수의 데이터 타입과 매개변수에 모두 void로 작성해 준 함수입니다. 함수를 호출할 때는 그냥 함수의 이름만 적어 호출할 수 있습니다. 매개변수는 있지만 리턴 값이 없는 함수는 함수의 데이터 타입에는 void를 작성해 주면 되지만 매개변수에는 데이터 타입과 매개변수의 이름을 모두 작성해줘야 합니다. 또한 함수를 호출할 때 인수의 개수가 호출하는 함수의 매개변수의 개수와 일치해야 합니다. 매개변수와 리턴 값이 모두 있는 함수는 함수의 데이터 타입도 지정해줘야 하고 매개변수도 작성해줘야 합니다. 리턴 값이 있는 함수이므로 함수 안에서 return 문으로 리턴 값을 지정해줘야 하고 또한 이.. 2023. 6. 30. [파이썬(Python) 공부하기] 4. 연산자 - 우당탕탕 개발자 되기 프로젝트 데이터 타입에 따라 연산자의 기능이 다릅니다. 데이터의 타입은 type() 함수를 사용하여 확인할 수 있습니다. type(데이터) 형식으로 작성해 주고 출력하면 해당 데이터가 어떤 데이터 타입인지 알려줍니다. 또한 데이터의 타입을 바꿀 수 있는 각 자료형의 함수가 있는데 int(), float(), double(), str() 등의 함수를 활용하여 데이터를 원하는 데이터 타입으로 바꿀 수 있습니다. 연산자는 다른 프로그래밍 언어에서 사용하는 것처럼 동일하게 사용하면 됩니다. 다만 산술 연산에서 + (뎃셈), - (뺄셈), * (곱셈), / (나눗셈), % (나머지 연산) 은 동일하지만 // (나눗셈의 몫 연산), ** (제곱) 등의 연산자가 추가로 더 있습니다. // (나눗셈의 몫 연산) 연산자가 존재하.. 2023. 6. 30. [파이썬(Python) 공부하기] 3. 변수 - 우당탕탕 개발자 되기 프로젝트 변수란 여러 가지 값을 넣을 수 있는 공간을 말합니다. 변수를 정의하는 방법은 변수명 = 값 의 형태로 정의하면 됩니다. 변수의 값을 출력할 때는 print(변수명) 형식으로 간단하게 출력할 수 있습니다. 만약 print() 문 안의 값이 숫자, 문자열, 변수 3가지 형태가 아니면 에러가 발생합니다! 변수명은 숫자로 시작할 수 없고, 공백 사용이 불가능하며, 예약어를 사용할 수 없습니다. 하지만 다른 언어와 다르게 한글로 변수명을 저장할 수 있습니다. 또한 함수 이름을 변수로 정의하면 변수로 정의된 이후에는 해당 함수의 기능을 상실하고 변수의 기능으로만 사용되게 됩니다. 2023. 6. 29. [C언어 공부하기] 10. 매개변수와 인수 - 우당탕탕 개발자 되기 프로젝트 함수를 정의할 때 사용되는 변수를 매개변수라고 합니다. 매개변수는 함수를 호출하여 사용할 때 호출되는 함수에 입력되는 값을 의미합니다. 그리고 main 함수에서 함수를 호출할 때 함수에 같이 전달되는 변수를 인수라고 하고 인수의 값이 호출되는 일반 함수의 매개변수로 입력됩니다. 처음 함수를 정의할 때 매개변수는 데이터 타입과 매개변수의 이름을 둘 다 적어주어야 합니다. 만약 함수의 입력 값이 없어 매개변수가 없다면 (void)를 적어줍니다. void는 생략 가능합니다. 함수의 매개변수와 인수는 여러 개 사용할 수 있지만 그 개수가 동일해야 합니다. 2023. 6. 29. [C언어 공부하기] 9. 함수의 기본 - 우당탕탕 개발자 되기 프로젝트 지금까지 사용했던 함수는 main 함수입니다. main 함수는 한 프로젝트에 한 번만 정의하여 사용할 수 있습니다. 반면에 여러 번 사용 가능한 함수는 일반 함수라고 합니다. 일반 함수를 생성하는 방법은 main 함수와 동일합니다. 데이터 타입 함수의 이름(매개변수) { 함수의 몸체 }가 함수의 기본 구조입니다. 함수를 생성하는 것을 함수를 정의한다라고 합니다. 함수의 이름은 절대 중복되면 안 됩니다. 그리고 매개변수는 있을 수도 없을 수도 있습니다. 함수의 데이터 타입 중 void는 리턴되는 값이 없다는 의미로 return 문을 작성하지 않아도 됩니다. 함수는 main 함수 전에 생성해야 합니다. 하지만 함수의 원형을 main 함수 위에 작성해 주면 함수를 main 함수 아래에 작성해도 괜찮습니다. 정.. 2023. 6. 29. 이전 1 2 3 4 5 다음 728x90 반응형