시스템과 프로그램 사이
  • 홈
  • 태그
    • 분류 전체보기 (127)
      • 모의해킹 (1)
        • Vulnhub (0)
        • 네트워크 패킷 분석 (1)
      • Web hacking (6)
        • 이론 (6)
      • Web hacking 문제 풀이 (18)
      • Reversing 문제 풀이 (46)
        • CodeEngn.com_Basic (Clear) (20)
        • CodeEngn.com_Advance (9)
        • CodeEngn.com_Malware (3)
        • Reversing.kr (4)
        • Dreamhack.io (10)
      • Pwnable (4)
        • 이론 (4)
      • Pwnable 문제풀이 (2)
        • Pwnable.kr (2)
      • 윈도우 (10)
        • PE 구조 (7)
        • 악성코드 분석 (1)
        • 윈도우 팁 (2)
      • C (7)
        • C언어 문법 (5)
        • C언어 개발 (2)
      • C++ (1)
        • C++ 문법 (0)
        • C++ 개발 (1)
      • Rust (10)
        • Rust 문법 (7)
        • Rust 개발 (3)
      • 블록체인 (1)
      • 자바스크립트 (4)
        • 웹 개발 (2)
        • 자바스크립트 악성코드 분석 (1)
      • 안드로이드 (3)
        • 안드로이드 악성코드 분석 (1)
        • APK 개발 (2)
      • 알고리즘 (3)
        • 정렬 알고리즘 (1)
      • 도구 (2)
      • 컴퓨터 시스템 이것저것 (3)
      • 리버싱 이것저것 (2)
      • 잡개발 (3)
  • 글작성
  • 방명록
  • 환경설정
  • 메뉴 닫기
c99 검색 결과
1 개의 검색 결과가 있습니다.
C/C언어 문법

C언어 배열 선언할 때 배열의 길이를 변수나 상수가 아닌 값으로 사용하기 (VLA) 가변길이배열

나는 원래 배열을 선언할 때 길이를 무조건 컴파일 타임 상수로 써야한다고 알고 있었고 그렇게 사용해오고 있었다. 하지만 개발하다보니 코드 낭비가 심했다. (쓸데없이 동적 할당을 하거나, 포인터 배열을 동적으로 사용하고 싶을 때 등) 코드를 낭비하는 것을 해결하고 싶어서 혹시나 하는 마음에 사용해보니 오류가 뜨지 않고 잘 사용되었다. 컴파일은 리눅스에서 하다보니 당연하게도 GCC를 사용하여 컴파일 했었는데 되는 이유를 찾아보니... C99 부터 가변길이배열(VLA)를 지원 한다는 것이였다!! VLA란 배열의 크기를 컴파일할 때 정하지 않고 실행하면서 정할 수 있도록 하는 기능이다. VLA의 특징과 malloc과의 차이점에 대해서 말해보자면 malloc VLA 보통 힙에 저장된다. 보통 스택에 저장된다. 긴..

2022. 3. 21. 21:27
  • «
  • 1
  • »

공지사항

전체 카테고리

  • 분류 전체보기 (127)
    • 모의해킹 (1)
      • Vulnhub (0)
      • 네트워크 패킷 분석 (1)
    • Web hacking (6)
      • 이론 (6)
    • Web hacking 문제 풀이 (18)
    • Reversing 문제 풀이 (46)
      • CodeEngn.com_Basic (Clear) (20)
      • CodeEngn.com_Advance (9)
      • CodeEngn.com_Malware (3)
      • Reversing.kr (4)
      • Dreamhack.io (10)
    • Pwnable (4)
      • 이론 (4)
    • Pwnable 문제풀이 (2)
      • Pwnable.kr (2)
    • 윈도우 (10)
      • PE 구조 (7)
      • 악성코드 분석 (1)
      • 윈도우 팁 (2)
    • C (7)
      • C언어 문법 (5)
      • C언어 개발 (2)
    • C++ (1)
      • C++ 문법 (0)
      • C++ 개발 (1)
    • Rust (10)
      • Rust 문법 (7)
      • Rust 개발 (3)
    • 블록체인 (1)
    • 자바스크립트 (4)
      • 웹 개발 (2)
      • 자바스크립트 악성코드 분석 (1)
    • 안드로이드 (3)
      • 안드로이드 악성코드 분석 (1)
      • APK 개발 (2)
    • 알고리즘 (3)
      • 정렬 알고리즘 (1)
    • 도구 (2)
    • 컴퓨터 시스템 이것저것 (3)
    • 리버싱 이것저것 (2)
    • 잡개발 (3)
반응형
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

태그

  • #NoSQL
  • #안드로이드 앱 분석
  • #reversing.kr
  • #개발
  • #Reversing
  • #악성코드
  • #리버싱
  • #코드엔진
  • #Rust
  • #C언어 문법
  • #리눅스
  • #Pwnable
  • #c99
  • #PE구조
  • #디버깅
  • #안드로이드
  • #clion
  • #C++
  • #표현 범위
  • #JavaScript
  • #윈도우
  • #CodeEngn
  • #dns
  • #2038년
  • #DBMS
  • #Debugging
  • #c언어
더보기+

전체 방문자

오늘
어제
전체

블로그 인기글

Powered by Privatenote Copyright © 시스템과 프로그램 사이 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바