일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백엔드
- Javascript
- Web
- mysql
- 리눅스
- BOF 원정대
- 러닝스칼라
- deep learning
- c
- webhacking
- c++
- 딥러닝
- hacking
- backend
- flask
- php
- Python
- 파이썬
- 인공지능
- hackerschool
- Scala
- 웹해킹
- Shellcode
- ChatGPT
- BOF
- 챗GPT
- Linux
- 경제
- 러닝 스칼라
- hackthissite
- Today
- Total
목록전체보기 (206)
jam 블로그
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..
I. 포인터와 배열의 관계 배열의 이름은 무엇을 의미하는가? 배열의 이름은 포인터다. 단 그 값을 바꿀수 없는 상수라는 점이 일반적인 포인터와의 유일한 차이점 #include int main() { int a[5] = {0,1,2,3,4}; printf("%d, %d\n",a[0],a[1]); printf("%d, %d\n",&a[0],&a[1]); printf("배열이름 : %d\n",a); return 0; } 위의 소스를 보면 처음의 printf는 a[0],a[1]의 값을 찍는거고 , 두번째 printf는 각각의 주소값을 세번째 printf는 배열이름에 대한 주소를 찍는다. 결과를 보면 &a[0]와 a는 같다. 비교조건/비교대상 포인터 배열이름 이름이 존재하는가? Yes Yes 이름은 무엇을 나타내..
I. 포인터란 무엇인가? 포인터란 메모리의 주소 값을 저장하기 위한 변수이다. 포인터는 타입에 상관없이 그 크기가 4바이트임을 알 수 있다. 포인터 선언하기 int n = 7; int *pN = n; 주소와 관련된 연산자 : &연산자, *연산자 주소값을 참조할 때 사용하는 연산자 : & 포인터가 가리키는 메모리 참조 : * #include int main() { int a =2005; int *pA = &a; printf("%d",pA); printf("%d,*pA); } *pA는 2005로 출력된다. pA는 a의 주소값이 들어가 있다. 포인터에 대한 예제 #include int main(void) { int a = 2005; int *pA = &a; printf("pA : %d\n",pA); print..
I. 1차원 배열의 선언 및 초기화1) 1차원 배열의 선언과 접근 배열 선언에 필요한 것 세가지 int array[10]; 배열 길이 10 인 array라는 이름의 int형 배열 이라는 뜻 배열길이, 배열이름, 배열 형태 참고로 위에 배열은 메모리에 할당되는 크기는 int형(4바이트)*배열크기(10) = 40바이트이다. 배열의 길이 선언은 오직 상수 int main() { int size =10; int arr[size]; } 위와 같은 소스일 경우 arr의 사이즈가 size 변수로 해놓았기 때문에 컴파일시 오류가 납니다. 배열 요소의 접근을 위한 인덱스의 이해 배열의 첫번째 요소의 인덱스는 0이다. 즉, arr[0]이 처음이다. 2) 배열! 선언과 동시에 초기화하기기 int arr1[5] = {1,2,..