전체 글

Hello World
    반응형
Back End/C

TIL - C Debugging Lab : Use After Free

문제풀이를 위해 공부한 개념Use After Free말 그대로 free() 한 메모리를 다시 사용하는 것이다.free(p) 가 하는 일 : 이 영역 이제 안 쓴다고 할당자(allocator) 에게 반납한다.free(p) 가 하지 않는 일 : 메모리 내용을 지우지 않는다. p 값 자체도 건드리지 않는다.free 직후의 p 는 여전히 그 주소를 가리키고 있다. 이런 포인터를 dangling pointer(허상 포인터) 라고 부른다. strncpy문자열을 복사하는 함수#include char *strncpy(char *dest, const char *src, size_t n);src 에서 최대 n 바이트를 dest 에 복사반환값 : dest 의 주소동작strlen(src) strlen(src) ≥ n → ..

기록/크래프톤 정글

WIL 04 - C : Data Structure / C 언어와 친해지기

이번주 목표C 언어 학습 (포인터, 이중포인터 마스터) 기초 익히기 및 코드업 기초예제 10문제 - Linked List C 언어를 처음 접하는 것이기에, 이번주는 C 언어 익히기에 집중하는 것을 목표로 하였다. 달성률은 ... 흠 60% 정도 되지 않을까 싶다. 그래도 기반이 있으면 구현은 가능하다고 생각했는데, 아예 0부터 구현하라고 하면 막막할 것 같다 ! 시도한 접근 방식C 언어 공부 방식먼저 AI 를 통해 C 언어에서 가장 기초가 되는 지식을 알려달라고 하여 학습하였다. 그리고 code up 기초 예제 몇 문제를 풀었다. 코드업코드업은 프로그래밍을 배우고 싶은 사람들을 위한 온라인 학습 플랫폼입니다.codeup.kr 포인터까지 학습 후, Linked List 문제를 5번까지 풀었다. 6번부..

CS/자료구조·알고리즘

[C] RecursiveReverse 구현하기

문제Write a C function recursiveReverse()that recursively reverses the given linked list by changing its next pointer and its head pointer.https://github.com/yeooonee/Jungle-C-Data-Structure/blob/master/Data-Structures/Linked_List/Q7_A_LL.c Jungle-C-Data-Structure/Data-Structures/Linked_List/Q7_A_LL.c at master · yeooonee/Jungle-C-Data-StructureContribute to yeooonee/Jungle-C-Data-Structure devel..

CS/자료구조·알고리즘

[C] moveMaxToFront 구현하기

문제Write a C function moveMaxToFront() that traverses a linked list of integers at most once, then moves the node with the largest stored value to the front of the list가장 큰 값 찾아서 앞으로 옮기기https://github.com/yeooonee/Jungle-C-Data-Structure/blob/master/Data-Structures/Linked_List/Q6_A_LL.c Jungle-C-Data-Structure/Data-Structures/Linked_List/Q6_A_LL.c at master · yeooonee/Jungle-C-Data-StructureContr..

Back End/C

C 에서의 char[], String 배열 타입

C 에서 char 은 문자 타입이 아니라 크기가 1바이트인 정수 타입이다. 다른 언어와 달리 C 는 문자라는 개념을 언어 차원에서 거의 갖고 있지 않다. 그냥 숫자를 담아두고, 출력할 때 ASCII 표를 보고 글자 모양으로 그려준다. 배열을 주는 쪽char str[256];balanced(str); 배열을 받는 쪽배열 이름을 표현식에서 쓰면, "첫 원소의 주소" 로 변환된다. 예외는 sizeof(str), &str. 이 두 경우만 배열 그 자체로 남는다. int balanced(char *expression){ // &str[0]이 전달된다. expression[1]; *(expression + 1); char *p = expression + 1; while (*expressio..

    반응형
Lar
개발지식 저장소