C

· C/C
다음과 같은 2차원 배열 선언 소스코드가 있다고 치자 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 #include int main(void) { int arr[3][5]= { {1,2,3,4,5}, {6,7,8,9,10}, {11,12,13,14,15} }; int i = 0, j = 0; int (*p)[5] = &arr[0]; //arr for(i = 0 ; i
· C/C
배열을 선언하며 초기화 할때 짚고 넘어가면 좋은 팁을 메모하고 가자. 초기화를 하지 않으면 당연히 쓰레기 값이 들어갈 위험 高 N개의 원소를 가지는 배열에 N보다 적은 갯수의 원소를 초기화 할 경우 나머지 원소가 자동 0으로 초기화 1 2 3 4 5 6 7 8 9 10 11 12 13 #include void main(void) { int i = 0; int arr[10] = {1}; // 10개 원소중 첫 원소만 1로 초기화 함. for( ; i Colored by Color Scripter 만약 arr[10] = {1, } 이라고 작성했다고치면 ?? 콤마있으니까 나머지 원소도 1로 초기화 될것만 같은 착각을 불러 일으키고 실제로 나는 이 착각 때문에 삽질을... 4. 배열초기화 함수 memset의 함..
· C
할당 방법 종류 설명 Dynamic Allocation Heap, Stack segment 프로그램 실행 중 {} 블록단위 필요시 마다 메모리를 할당하고 , 수행 후 할당을 해제하여 시스템에 의해 혹은 원시코드로 제어된다. Static Allocation Code, Data segment 프로그램 시작에 할당되고 종료시에 해제된다. Segment의 정의 대개 64KB 논리적 크기 단위로 나뉘어 할당/해제로 관리하게 되는것 segment number + offset 으로 관리되고, 물리장치와 같은 크기로 나뉘어지는 페이지와 대비되는 개념이다. Segment 가 왜 필요한가요? 명령어 한 개당 기억장소가 할당되어 저장되는 방식으로 프로그램이 수행될 경우 실행속도가 매우 느려진다. 따라서 일정한 크기의 메모리..
· C/C
1. 분석 Requirement에 따라서 어떤 프로그램을 만들 것인지 기술한다. 기능, 입력-출력, 변수와 자료형, 처리과정을 명세한다 ※ 처리과정에는 '무엇'(What)을 하는지만 적는다. 어떻게는 포함되지 않는다. 2. 설계 설계 문서를 기반으로 Flowchart를 그린다. 3. 구현 https://github.com/milkcoke/C/blob/master/%EC%84%B1%EC%A0%81%20%EC%B2%98%EB%A6%AC%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8/%EC%84%B1%EC%A0%81%EC%B2%98%EB%A6%AC%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8.c milkcoke/C C Programming with SASD(St..
· C/Error
1. 원인 scanf_s는 character or character pointer 사용시 버퍼의 크기를 명시하게 되어있습니다. scanf 함수의 특성상 버퍼의 크기가 명시되어 있지 않죠. 때문에 버퍼 오버플로우와 같은 공격에 취약합니다. 따라서 마이크로소프트사에서 개발한 visual Studio에서는 scanf 보다 scanf_s 라는 함수의 사용을 권장하고있습니다.. (한 마디로 보안 취약점이 그 이유입니다.) p.s. 구버전에서는 scanf사용해도 아무런 에러 메시지가 없었는데 말이죠.. 2. 증상 scanf를 사용하여 소스 코드 작성후 컴파일시 C4996 Error 발생. 근데 어쩌라고. 우린 쓸거야! 한다면 3. 해결방법 2가지 (1) 소스 상단에 #define _CRT_SECURE_NO_WARN..
· C/C
1. 순서도 2. 구현 #include int main(void) { int index = 10; int arr[10] = { 10, 1, 5, 8, 7, 6, 4, 3, 2, 9 }; int i, j , temp, min; printf("정렬 전 : "); for (int i = 0; i < index; i++) { printf("%d ", arr[i]); } printf("\n"); for (i = 0, j = i + 1; i < index - 1 ; i++, j = i + 1) { min = arr[i]; for (; j < index; j++) /* 한바퀴 다 순회하면서 min에 arr[j]넣고 j값 temp에 킵하기 이부분에 문제 있었어... j가 10일때 아래 문장을 수행하면 else부분이 실..
M_Falcon
'C' 카테고리의 글 목록 (5 Page)