일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 문자열
- 리스트
- Provider
- list
- Kotlin
- Python
- 자료형
- Java
- 자바
- programmers
- 백준파이썬
- 자바리스트정렬
- 프로그래머스
- android
- Hilt
- jetpack
- nullpointerexception방지
- ContentProvider
- 오블완
- disposableeffect
- filternotnull()
- 파이썬문법
- 배열
- compose
- 자바set
- 파이썬
- 티스토리챌린지
- 백준
- Dependency
- composelifecycle
- Today
- Total
목록basic (55)
study gomi
문제 상황: 함수의 매개변수에 기본 값을 넣으려고 했는데 구문 오류(Syntax Error) 발생... ;;;;void ShowAddResult(int num = 30){ printf("덧셈결과 출력 : %d\n", num);} 알고보니 C에서는 매개변수의 기본값(default parameter)을 지정할 수 없다고 한다.kotlin이나 C++에서는 다 됐어서 몰랐다.암튼 C에서는 지원하지 않는 기능이라고 함.📌 기본값을 지정할 수 없는 이유C는 함수 호출 시 컴파일러가 전달되는 인자의 개수를 그대로 기대하기 때문.즉, 매개변수의 개수를 엄격하게 검사하기 때문에 기본값을 지정하는 기능이 없다.매개변수 전체가 다 값이 들어왔는지 확인하는 거 같음. ✅ 해결 방법 1: 오버로딩 대신 함수 내부에서 처..
📌 매개변수가 없는 함수 선언 방법void myFunction(void); // (1) 권장 방식void myFunction(); // (2) 동작하지만 C에서는 위험할 수 있음이 두 개가 같아 보이지만 c에서는 차이가 있다. 📍void를 명시하는 이유c언어에서 myFunction();과 myFunction(void)는 같은 의미가 아님.이 차이를 이해하려면 c와 c++의 차이를 알아야 한다. ✅ C에서 void myFunction(void);void myFunction(void);매개변수가 없다는 걸 명확하게 선언하는 것.따라서 myFunction(10); 같은 잘못된 호출을 하면 컴파일 에러가 발생즉, 매개변수를 받을 수 없다는 걸 명확히 함.#include void sayHello(v..

c공부 중...visual studio도 거의 처음 써 봤다.같은 프로젝트 내에서 한 소스 파일에서 다른 소스 파일에 정의된 함수를 호출해서 사용하려고 했는데 에러가 발생했다.android studio만 사용해왔던 나에겐 너무 생소...암튼 그래서 알아봤는데 헤더 파일이 필요하다구....문제 상황일단 내 프로젝트 내 소스 파일 두 개 ↑func_call.c에서 func_dummy.c의 함수 두 개(func1, func2)를 아래처럼 사용하려고 했는데 빌드 안 됨. 📌 C 파일 관리Kotlin과 달리 자동으로 같은 패키지에 있는 클래스나 함수를 import 시키는 기능이 없음.함수가 어디에 정의되어 있는지 명확하게 컴파일러에 알려줄 필요가 있다. 📌헤더 파일(.h)이 필요한 이유?1. 컴파일러가 함수의..
filterNotNull() Kotlin의 컬렉션 확장 함수 중 하나로 간단하지만 아주 강력한 기능을 제공한다. 리스트 등 컬렉션에서 null 값을 제거해준다개인적으로 아주 유용하게 잘 쓰고 있다.1. 역할정의: 리스트나 시퀀스에서 모든 null 값을 필터링하고 null이 아닌 요소들만 포함된 새 리스트를 반환한다.사용 상황: 컬렉션에 null 값이 포함될 가능성이 있고 이 값을 제외하고 작업해야 할 때 사용된다.예시val listWithNulls: List = listOf("A", null, "B", null, "C")val filteredList = listWithNulls.filterNotNull()println(filteredList) // 출력: ["A", "B", "C"] 2. 작동 방식fu..
object ?Kotlin에서 사용하는 특별한 키워드싱글톤 객체(singleton object)를 정의할 때 사용. 싱글톤은 클래스의 인스턴스가 오직 하나만 존재하는 디자인 패턴object 키워드를 사용하면 별도의 클래스를 만들고 인스턴스를 생성하는 과정을 생략하고 즉시 하나의 인스턴스가 생성된다.object로 선언된 객체는 애플리케이션 전역에서 하나의 인스턴스만 존재하므로 공통된 기능을 제공하는 유틸리티 메서드나 공통 상태를 관리하는 데 적합 주요 특징싱글톤 패턴 구현: object로 선언된 클래스는 자동으로 하나의 인스턴스만 존재 → 개발자가 추가로 객체를 생성할 필요가 없음즉시 초기화: 프로그램 시작 시 즉시 초기화되며 해당 객체를 사용할 때 별도로 초기화할 필요가 없다.동시성 안전: Kotlin에..
보호되어 있는 글입니다.
파이썬은 슬라이싱이라는 것이 있지만... Kotlin은 불가능.그래도 비슷하게는 된다. subList 사용: fromIndex부터 toIndex 미만까지의 범위를 가져옴.val partialMyList = myList.subList(0, 15)위 코드는 myList 리스트의 0번 인덱스부터 14번 인덱스까지 총 15개의 항목을 가져온다. + subList를 사용해서 16번째 항목부터 마지막 항목까지 가져오기: List.size(리스트의 크기 얻기)val secondPart = myList.subList(15, myList.size)
배열 초기화 방법1. 명시적 배열 타입과 함께 배열 리터럴 사용하기 - 아래 코드에서 `new int[]{}`는 배열 타입(`int[]`)과 배열 리터럴(`{1, 2, 3}`)을 결합하여 배열을 초기화함. int[] array = new int[]{1, 2, 3}; 2. 변수 선언과 동시에 배열 초기화 (간략한 문법)- 배열 변수를 선언하고 동시에 초기화할 때는 배열 타입을 명시하지 않고 간략하게 사용 할 수 있음.int[] array = {1, 2, 3}; 특정 상황에서 배열 리터럴의 사용- 배열 리터럴을 사용할 때는 반드시 배열 타입과 결합해야 함.- 단독으로 사용할 수 없음.int[] array1;array1 = {1, 2, 3}; // 오류: 배열 리터럴 단독 사용 불가int[] array2;ar..