내맘대로 공부기록.

c언어 3

[ C 언어 ] 실무에서 막혔던 문자열 관련 유용한 내용.(함수만들기)

막혔던 상황. 알고 보니 초보적인 실수여서 기재하기가 부끄럽지만, 저를 위해 적습니다. 상황은 아이템이 포인터를 함수로 전달해 주고, 특정 아이템의 정보들을 구조체 멤버로 가져오게 됩니다. 쉽게 말하면, 특정 아이템을 DB로부터 검색해서 사용하려고 하는 거죠. 검색 조건문 요소로 구조체의 특정 멤버를 사용한 겁니다. (구조체 멤버 예시) typedef struct temp1 { int a1; int a2; char* a3; int a4; } myStruct; 여기서 특정 멤버는 char* 자료 형태(예시의 a3변수)의 문자열을 지칭합니다. 이 상황에서 a3의 문자열 전체 사이즈가 10이라고 하면, 6번째 문자를 if 조건문으로 비교해서 분기를 만들어주고 싶었습니다. 그래서 검색 문자가 "1"이라고 예를 ..

[ STUDY ] 2021.04.04

[ C 언어 ] 전화번호부 무작정 만들기 (feat. CRUD)

무작정 전화번호부 만들 겁니다. 단, 아래와 같은 기준과 목표로 작성했습니다. 첫째. CRUD(Create. Read. Update. Delete.) 기능을 갖춘다. 둘째. 전화번호부 DB는 간단히 CSV 파일로 대응한다. 셋째. 죽이 되든 밥이 되든 남의 코드를 참고하지 않고 만든다. ✅ 전체 메뉴 구성 계산기 실행 시 유저가 선택하게 될 가장 큰 분류는 아래와 같이 결정했다. 1️⃣ Add➕ 2️⃣ Search🔍 3️⃣ Update🛠 4️⃣ Delete❌ 5️⃣ PrintAll🖨 9️⃣ EXIT🙋🏻‍♂️ 각 메뉴로 분기는 if ... else if ... else 기능을 사용했다. 기회가 된다면 switch문으로 리팩토링을 해보려 한다. 다 작성하고 보니 switch 문이 더 간단하면서도 직관적인 것..

[ C 언어 ] 실무에서 보고느낀 memset 함수 사용후기.

C언어의 메모리 관련 함수는 memset, memcpy, memmove 기타 등등 꽤 있는 것 같습니다. 'mem' 은 memory에 관련된 함수라는 것을 의미하고, C언어의 내장 함수에서 접근할 수 있습니다. 요런 메모리 블럭을 조작하는 함수는 String.h라는 헤더 파일에서 참조할 수 있습니다. memset은 세개의 인수를 받고, 다음과 같습니다. void* memset(void* ptr, int value, size_t num); (자세한 설명은 모두의코드(memset설명) 를 참고하시기 바랍니다. ) 요컨대 포인터 변수를 이용해서 해당 주소가 가리키는 값을 사용자가 원하는 값으로 변경할 수 있습니다.. 그래서 의미는 알겠는데 어떤 경우에 이걸 사용하나? 감이 잘 오지 않았습니다. 그러던 참에, ..

[ STUDY ] 2020.11.22
반응형