반응형 개발81 [Rust] 튜플(tuple) C/C++만 하신 분들에게는 튜플이 생소할 수 있을 것 같습니다. 배열과 같다고 생각하실 수도 있는데, 엄밀히 말하면 튜플은 배열과는 다릅니다. 튜플에 대해서 좀 더 알아보도록 합시다. 튜플(tuple) 튜플(tuple)은 다양한 타입을 담습니다. 추후에 포스팅을 하겠지만 배열은 한 가지 타입을 담을 수 있습니다. 이런 점에서 차이가 발생합니다. 그렇다면 튜플에는 같은 타입을 담을 수 없는지 궁금할 수 있는데, 같은 타입을 담을 수 있습니다. 튜플 선언 튜플은 () 사이에 데이터 타입을 넣어주고 쉼표(,)를 통해서 구별하여 선언합니다. 또한 튜플 변수 이름 뒤에 온점(.)을 쓰고 숫자를 씀으로써 튜플의 요소를 접근할 수 있습니다. 이때 접근 상수는 0부터 시작된다는 점 잊지 마시길 바랍니다. fn mai.. 2023. 9. 28. [Rust] bool 타입 Rust에서 bool 타입은 아마 가장 간단한 타입이지 않을까 싶습니다. C/C++에서 접했던 bool 타입과도 유사하기 때문입니다. 하지만 조금 다른 점도 있기 때문에 Rust에서의 bool 타입을 알아보도록 하겠습니다. bool 타입 bool 타입은 true 또는 false 값만 가질 수 있습니다. 이러한 true와 false 값은 조건문 또는 제어문에서 중요합니다. 그 이유는 조건문 또는 제어문의 조건식의 결과는 bool 타입인 true 또는 false 값을 가져야 하기 때문입니다. bool 타입은 또한 true 또는 false 값을 가져서 1bit로 충분히 표현이 가능하지만, Rust에서는 1 Byte를 할당합니다. bool 선언 bool 선언과 할당은 [Rust] 변수 선언에서 했던 것과 유사하.. 2023. 9. 27. [C/C++] 연산자 우선순위 드디어 연산자에 대해서 다 다뤄봤습니다. 그럼 이제 연산자 우선순위에 대해서 알아보도록 합시다. 연산자 우선순위는 정말 중요합니다. 연산의 결과가 예상한 것과 다르게 된다면 해당 프로그램은 제대로 동작할 수 없기 때문입니다. 연산자 우선순위 연산자 우선순위는 다양한 연산자가 표현식 내에서 어떤 순서로 계산되어야 하는지 결정하는 규칙입니다. 연산자 우선순위에 따라 연산자를 사용할 때 괄호를 추가하여 원하는 계산 순서를 지정할 수 있는데, 개인적으로 연산자 우선순위가 헷갈릴 때에는 괄호를 많이 씁니다. 아래의 연산자 우선순위 표를 보시면 숫자가 작을수록 먼저 연산이 됩니다. 연산자 우선순위 예시 아래 코드의 결과는 어떻게 될까요? 결과를 예측해 보세요. 이전에 배웠던 short circuit을 생각해서 va.. 2023. 9. 18. [C/C++] 캐스팅 연산자 개발을 하다 보면 캐스팅 연산자를 사용할 때가 생각보다 많습니다. 함수 호출을 하기 위해서 인자 값으로 값을 줄 때 캐스팅을 해서 주는 경우도 자주 있습니다. 캐스팅 연산자에 대해서 알아보도록 합시다. 캐스팅 연산자 캐스팅 연산자는 데이터 형식을 다른 데이터 형식으로 변환하는 데 사용됩니다. 캐스팅 연산자에는 2가지가 있는데 바로 명시적 캐스팅과 암시적 캐스팅입니다. 명시적 캐스팅 명시적 캐스팅은 명시적으로 데이터 형식을 변환하고자 할 때 사용됩니다. 명시적으로 타입을 변환하는 것이기 때문에 개발자가 인지하고 있습니다. (데이터 타입)변수 아래는 간단한 코드인데, 사칙연산 등을 할 때에는 타입을 맞춰주는 것이 좋습니다. 그렇지 않으면 의도한 결과가 나오지 않을 수 있기 때문입니다. #include int.. 2023. 9. 17. [C/C++] sizeof 연산자 이제 연산자 시리즈가 거의 끝나갑니다. sizeof 연산자는 개인적으로 유용한데 주의할 점이 있습니다. 알아보도록 합시다. sizeof 연산자 sizeof 연산자는 변수나 데이터 타입의 크기를 바이트 단위로 계산하는 데 사용됩니다. sizeof(변수 또는 데이터 타입) sizeof(변수) 변수의 크기를 바이트 단위로 계산할 때 아래와 같이 사용됩니다. 보통은 배열의 크기를 구하거나 메모리 할당에 필요한 크기를 구할 때 사용됩니다. #include int main() { int arr[3] = { 0 }; printf("arr size : %d\n", sizeof(arr)); return 0; } 결과는 아래와 같습니다. 12가 나온 이유는 arr index가 3이라서 3, int가 4 바이트이기 때문에 .. 2023. 9. 15. [C/C++] 쉼표 연산자(,) 쉼표가 연산자라는 것을 알고 계셨나요? 아마 모르신 분들도 많이 있으실 것이라 생각됩니다. 너무 자연스럽게 사용하고 있으시거나 아예 사용하지 않고 계시는 분들도 많으신 걸로 알고 있습니다. 실제로 제가 개발을 할 때 보면 쉼표 연산자는 거의 안 쓰이는 것 같습니다. 하지만 모든 알고 있으면 언젠가는 도움이 되기 때문에 알아봅시다. 쉼표 연산자(,) 쉼표 연산자는 여러 표현식을 순차적으로 실행하고 마지막 표현식의 결과를 반환하는 연산자입니다. 그렇기 때문에 변수 선언할 때나 for문에서 자주 사용하는 것 같습니다. 쉼표 연산자는 아래와 같이 표현할 수 있습니다. expression0, expression1, expression2, ..., expressionN; 계속 표현식이 오게 되는데 마지막에 오게 되.. 2023. 9. 14. [C/C++] 삼항 조건 연산자(삼항 연산자) 삼항 조건 연산자는 if else 구문을 한 줄로 표현할 때 사용합니다. 모든 if else 구문을 삼항 조건 연산자로 표현할 수 있는 것은 아니지만, 간결한 if else 구문일 경우에 삼항 연산자로 바꿔 쓸 수 있습니다. 삼항 조건 연산자 삼항 연산자라고도 불리우는 삼항 조건 연산자는 아래와 같이 표현됩니다. condition ? expression if true : expression if false; condition이 참 또는 거짓으로 판단이 되면 참일 경우에는 expression if true가 실행이 되고 거짓일 경우 expression if false가 실행이 됩니다. 여기서 주의할 점은 expression if true와 expression if false가 같은 타입이어야 합니다. 예를.. 2023. 9. 13. [C/C++] 비트 연산자 비트 연산자를 잘 활용하면 알고리즘이나 개발을 할 때 유용합니다. 비트 연산자에 대해서 알아보고 활용할 수 있도록 배워 봅시다. 참고로 논리 연산자와 비트 연산자가 비슷하게 생겨서 헷갈리실 수 있습니다. 관련 글 링크를 올려둘 테니, 비교해 보시는 것도 도움이 되실 것 같습니다. [C/C++] 논리 연산자 논리 연산자는 조건문과 논리적인 표현을 다룰 때 중요합니다. C/C++에는 논리 연산자가 3가지가 있는데 살펴보도록 하겠습니다. 논리 연산자 논리 AND 연산자 (&&) 논리 AND 연산자는 두 개의 조건 77monkey.tistory.com 비트 연산자 비트 연산자는 비트 단위로 데이터를 연산할 때 사용됩니다. 데이터 타입을 표현할 때에는 바이트 단위이지만, 우리는 그 하위 단위인 비트 단위로 연산을.. 2023. 9. 11. [기타] fastboot 설치부터 명령어까지 처음에 아무것도 몰랐을 때 fastboot 관련된 부분이 얼마나 어렵던지 생각납니다. 오늘은 fastboot에 대해서 알아보도록 합시다. fastboot Fastboot는 Android 기기의 Bootloader 레벨에서 동작하는 프로토콜 및 명령줄 도구입니다. Bootloader는 Android 운영 체제가 부팅되기 전에 실행되며, Fastboot를 통해 기기의 부트로더, 리커버리, 부트 이미지 및 다른 시스템 파티션을 수정하고 업데이트할 수 있습니다. fastboot 진입 전 준비 사항 fastboot 진입 전 준비할 사항이 있습니다. Android SDK 플랫폼 도구 설치 Android SDK 플랫폼 도구에는 adb와 fastboot 도구가 포함되어 있습니다. 그렇기 때문에 설치가 필요합니다. 구글.. 2023. 9. 10. 이전 1 2 3 4 5 6 7 8 9 다음 반응형