일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- webhacking
- Web
- BOF 원정대
- Python
- 러닝 스칼라
- ChatGPT
- 파이썬
- BOF
- backend
- 웹해킹
- 챗GPT
- 딥러닝
- c++
- Javascript
- 백엔드
- flask
- c
- 경제
- Linux
- 인공지능
- deep learning
- mysql
- 러닝스칼라
- hackerschool
- Shellcode
- 리눅스
- hackthissite
- hacking
- php
- Scala
- Today
- Total
목록개발 및 관련 자료 (76)
jam 블로그
I. 함수 포인터 함수 포인터란 무엇인가? 함수의 이름은 메모리상에 존재하는 함수의 위치를 기리키는 포인터. 함수 포인터의 포인터 타입은 어떻게 되는가? 함수 이름의 포인터 타입을 결정짓는 요수는 리턴형과 전달인자이다. double fct2(doubel a, double b) { double add = a+b; return add; } 위와 같은 함수가 있다면 리턴형은 double 이고 double 형 인자를 두 개 전달받는 포인터 타입이다. 라고 말 할 수 있다. 적절한 함수 포인터의 선언 int(*fPtr1)(int); 위와 같은 형태로 리턴형(*함수명)(인자값) 이런식으로 쓰면 된다. #include void Add(int a, int b); void SPrint(char *str1); int ma..
I. 2차원 배열 이름의 포인터 타입 2차원 배열 이름이 가리키는 것은? 1차원 배열이름과 마찬가지로 배열의 첫번째 요소를 가리키는 포인터 이다. 다음의 소스를 보자 #include int main() { int a[3][2] = {1,2,3,4,5,6}; printf("a[0] : %d\n",a[0]); printf("a[1] : %d\n",a[1]); printf("a[2] : %d\n",a[2]); printf("a : %d\n",a); printf("a[0][0] : %d\n",&a[0][0]); return 0; } 위의 소스의 결과값을 보다 시피 a나 a[0]나 &a[0][0] 다 같은 주소값이 나온다. 2차원 배열 이름 +1 : 배열 이름을 이용한 포인터 연산 #include int main..
I. 포인터의 포인터에 대한 이해 더블 포인터가 가리키는 것은 싱글포인터 int main() { double val = 3.14; double *ptr1 = &val; double **ptr2 = &ptr1; printf("val : %lf\n",val); printf("&val : %lf\n",&val); printf("ptr1 : %lf\n",ptr1); printf("&ptr1 : %lf\n",&ptr1); printf("*ptr1 : %lf\n",*ptr1); printf("ptr2 : %lf\n",ptr2); printf("&ptr2 : %lf\n",&ptr2); printf("*ptr2 : %lf\n",*ptr2); printf("**ptr2 : %lf\n",**ptr2); } 위의 소스를 컴..
I. 다차원 배열 2차원 배열의 선언 2차원 배열의 선언과 의미 1차원 배열 2차원 배열 가로가 열 세로가 행을 가리킨다. 자료형 배열이름[행][열]; 이런식으로 선언하면 된다. 실제 메모리상의 그림 위와 같은 그림 처럼 메모리에 잡힌다. 2차원 배열! 선언과 동시에 초기화 (여기서 부터는 그림 귀찮아서 안 그립니다.) 초기화 case 1: 행 단위로 모든 요소들을 초기화 하는 경우 int main() { int somang[3][3]= { {1,2,3},{4,5,6},{7,8,9} }; } 위와 같이 배열의 개수 만큼 써서 초기화를 해주면 된다. {} 당 한 행으로 보면 된다. 초기화 case 2: 행 단위로 일부 요소들만 초기화하는 경우 int main() { int somang[3][3]= { {1..
I. 함수의 인자로 배열 전달하기 함수의 인자 전달 방식 인자 전달의 기본 방식은 복사이다. 배열을 함수의 인자로 전달하는 방식 #include void fct(int *arr2); int main() { int arr1[2] = {1,2}; fct(arr1); printf("%d\n",arr1[0]); return 0; } void fct(int *arr2) { printf("%d\n",arr2[0]); arr2[0] = 3; } fct함수를 호출 하면서 배열의 이름을 인자로 전달하는데 이때 배열의 이름 즉, 배열의 주소를 전달하는 것이다. #include int ArrAddr(int *pArr, int n); int main(void) { int arr[10] = {1,2,3,4,5,6,7,8,9,1..