본문 바로가기

전체 글435

메모리 구조 http://jsy6036.tistory.com/entry/4%EC%9B%9426%EC%9D%BC 2016. 9. 10.
바이트 크기 char 1byteshort 2byteint 4byte float 4byte long 4bytedouble 8byte int형 배열요소간 주소 값의 차이는 4byte이다.32비트 시스템에서는 주소 값을 32비트로 표현하기 때문에 포인터 변수의 크기가 4바이트인 반면, 64비트 시스템에서는 주소 값을 64비트로 표현하기 때문에 포인터 변수의 크기가 8바이트이다. 2016. 9. 10.
문자열 관련 함수 문자열은 항상 끝에 null이 포함. 234 #include strlen(str); char str1[20]="1234567890";char str2[20];char str3[5]; strcpy(str2,str1);//str1에 저장된 문자열을 str2에 복사한다.puts(str2); strncpy(str3,str1,sizeof(str3));//12345가 복사된다.단, null이 없어서 이상하게 출력puts(str3); strncpy(str3,str1,sizeof(str3)-1);//1234가 복사된다.str3[sizeof(str3)-1]=0;//마지막에 null을 넣주어서 1234로 출력puts(str3);return 0; char str1[20]="First~";char str2[20]="Secon.. 2016. 9. 10.
level3 동시에 여러 명령어를 사용하는 방법 결론부터 얘기하자면 동시에 여러 명령어를 사용하기 위한 방법은 세미콘론(;)을 이용하는 것이다. 두개의 원하는 명령을 첫번째명령;두번째명령 이렇게 한번에 두가지 명령을 내릴 수 있는 것이다. 다음은 ls명령을 두번 실행시킨 화면이다. 세미콜론(;)을을 이해하는 부분에서 좀더 이해해야할 부분이다. 이는 절대 두개이상의 명령어를 동시에 실행하도록 하는 것이 아니다. 한줄에 두개의 명령어를 내리 것이라고 이해하여야 한다. 그림을 보면 알다시피 ls가 한번 실행된 결과가 출력이된 뒤에, 두번째 ls가 실행된 결과가 출력된다. 이는 앞의 명령어가 실행되고 종료된뒤 뒤의 명령어가 실행되는 순차적인 실행이다. 자 그럼 autodig 호스트명;my-pass를 실행해보자. 그런데 우리.. 2016. 9. 10.
shift+F5 디버깅 강제 종료 shift+F5 는 디버깅 강제 종료 2016. 9. 9.
exit() exit(123) 이렇게 괄호 속에 int형 정수 숫자를 넣어주면 그 숫자를 운영체제에 반환합니다. 즉 "에러 코드"를 반환합니다. 에러 없이 정상 종료할 때에는 exit(0) 이렇게 0을 반환하고, 에러가 나서 종료할 때에는 0이 아닌 숫자, 대체로 1을 반환합니다. exit() 함수를 사용하기 위해서는 stdlib.h 헤더파일을 인클루드해 주어야 합니다. 2016. 9. 9.
#include <string.h> #include 문자열 복사: strcpy(str2,str1); //str1의 내용을 str2로 복사문자열 비교: strcmp문자열 합치기: strcat 2016. 9. 9.
처음 헷 #include #include // exit() int main(int argc, char* argv[]) { // 옵션 지정하지 않았을 때 에러 출력하고 종료if (argc == 1) {fputs("에러! 옵션을 입력하지 않으셨군요...\n", stderr);exit(1);} // 옵션 개수 출력printf("%d 개의 옵션을 입력하셨군요\n\n", argc - 1); // 옵션 배열의 요소들을 하나씩 출력for (int i = 1; i < argc; i++)printf("argv[%d] = %s\n", i, argv[i]); return 0;} 2016. 9. 9.
fputs("에러! 옵션을 입력하지 않으셨군요...\n", stderr); fputs("에러! 옵션을 입력하지 않으셨군요...\n", stderr); 2016. 9. 9.