일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트 기본 문법
- 자바스크립트 객체
- 보안뉴스
- 보안뉴스 요약
- 자바스크립트 node
- php
- 다크웹
- GIT
- 자바스크립트 prototype
- 자바스크립트 jQuery
- oracle db
- 보안뉴스한줄요약
- python
- 카카오프로젝트 100
- Oracle SQL
- 카카오프로젝트100
- 랜섬웨어
- 자바스크립트 element api
- oracle
- 자바스크립트
- ES6
- 보안뉴스요약
- 자바스크립트 API
- 파이썬
- numpy
- 보안뉴스 한줄요약
- 카카오프로젝트
- 깃허브
- 오라클
- javascript
- Today
- Total
목록Programming/C Language (13)
FU11M00N
C언어 함수포인터란? 포인터 변수는 해당 변수의 메모리주소를 가질수있는 변수입니다. 그럼 함수포인터는 특정 함수에 대한 메모리 주소를 가질수있는것입니다. 함수포인터를 쓰는이유? 프로그램의 코드가 짧아집니다. 함수포인터를 배열에 담아서 사용할수있어 중복되는 코드를 줄일수있습니다. 사진 1-1은 메모리의 구조를 간단히 그림화 시킨것입니다. 함수들은 코드세그먼트 영역에 저장됩니다. #include void function(int a, int b){ printf("%d + %d = %d\n",a,b,a+b); } int main(){ function(10,20); return 0; } 이 코드를 간단히 코드 세그먼트 영억으로 생각하여 봅시다! main함수에서 function함수를 호출하였습니다. 이 의미는 ma..
포인터를 쓰는 이유? 프로그래밍에서 변수가 저장과 참조를 하기 위해서는 변수가 저장된 주소를 알아야 가능합니다. 그래서 우리 컴퓨터는 변수가 참조할때 해당하는 그 변수가 저장되어있는 주소를 찾아내고 그 주소가 가리키는 내용을 참조하여 사용됩니다. 그래서 이떄 필요한 게 포인터입니다. 포인터가 변수의 주소를 저장할 수도 있고 사용하는 것도 가능합니다. 포인터를 사용하면 효율적인 표현과 처리가 가능하고 복잡한 자료구조의 알고리즘들 짤때도 함수에 대한 접근이 편해집니다. int a에 5개의 배열 공간이 만들어졌습니다 저 공간 하나 하나는 4byte씩이고 총 20byte입니다. 배열의 이름은 배열의 시작 주소를 나타냅니다. 그럼 여기 하나하나의 인덱스를 &a[0] &a [2] &a [4]라고 표현이 가능하고, ..
스택이란?? 스택이란 메모리에서 존재하는 스택 공간에서 지역변수와 매개변수 등을 저장하는 공간입니다. 스택이란 무언가를 차곡차곡 쌓는다는 의미입니다. FILO(First In Last Out, 선입 후출) 이라고도 하고, LIFO(Last In First Out, 후입 선출)입니다. 사진으로 설명하자면 아래와 같습니다. 바나나,복숭아,포도가 들어있고 순서대로 바나나 -> 복숭아 -> 포도 순으로 스택안에 들어갑니다. 그럼 바나나가 맨마지막에, 포도가 맨 위에있는모습이고. 포도->복숭아->바나나 순으로 나오게됩니다! 사진 1-1을 보면 main함수에서 sub함수를 호출하고, 값을 10,50,100씩 넘겨주며 sub함수는 그 값들을 출력하고 있습니다. 위의 값들이 스택에서는 한공간만을 썼다가 소멸되고 한공간..
잠깐 전 포스팅에서 봤었던 자료형들의 크기를 다시 생각해 보고, 아래의 변수들의 크기는 얼마나 나올까요? #include int main(){ //아래의 변수들은 몇바이트일까요? int a; char b; double c; char d[10]; char e[10][5]; return 0; } #include int main(){ int a; // 4byte char b; // 1byte double c;// 8byte char d[10]; // 10 byte char e[10][5]; // 50byte return 0; } int와 char double의 바이트 크기는 다들 알고 계셨겠지만, 배열 d와 배열 e의 크기가 헷갈리는 부분이 있습니다. char d [10]은 char 1byte가 10개 모인 ..
안녕하세요! 이번엔 포인터를 하기 위해 기본적인 개념을 알아보도록 하겠습니다. 구분 크기(byte) 범위 정수형 char 1byte ~128~127 short 2byte ~32786~32767 int 4byte -2.147.483.648 ~ 2.147.483.647 long 4byte -2.147.483.648 ~ 2.147.483.647 long long 8byte ~9.223.372.036.854.775.808~ 9.223.372.036.854.775.807 실수형 float 4byte +- 3.4 x 10^-37 ~ +-3.4x10^38 double 8byte += 1.7 x 10^-307 ~ +- 3.4 x 10^308 long double 8byte이상 double 이상 (long 형은 32비트..