본문 바로가기
반응형

프로그래밍./C언어.27

구조체. ->연산자 .연산자 구조체. 서로다른 자료형들을 하나로 묶는 것. #include #include struct student{ // 구조체 이름 또는 태그(tag) int number; // 학번 char name[10]; // 이름 double height; // 키 }; void main() { struct student s; // 구조체 변수 선언. s.number = 20060603; strcpy(s.name, "김동규"); //scanf("%s", s.name)와 동일. s.height = 163.5; printf("학번 : %d\n", s.number); printf("이름 : %s\n", s.name); printf("키 : %f\n", s.height); } 구조체는 변수 이다. 구조체를 선언 하고 변수를 만.. 2011. 3. 28.
[C언어] 문자열 복사 함수 (strcpy, strncpy) 간단예제. strcpy 함수의 원형 char* strcpy(char* dest, const char* src); src에 있는 내용을 dest로 복사한다. 하지만, 만약 dest의 크기가 원본의 크기보다 작다면? 오버플로우가 발생한다. 컴파일러에 따라 묵인하는 경우도 있다고는 하지만 언젠가 문제가 될수 있는 내용이다. 간단한 사용 예제 strncpy 함수의 원형 char* strncpy(char* dest, const char* src, size_t n); 문자열은 반드시 마지막에 문자열의 끝을 알려주는 null이 있어야 한다. 때문에 내가 10글자를 받고 싶다면 null을 포함해서 11개의 배열을 생성해야 한다. strcpy와 같지만 복사하는 배열의 최대 길이를 정할 수 있다. strcpy(복사받을주소, 복사할주.. 2011. 3. 28.
문자열 비교 함수 (strcmp, strncmp) strcmp 함수의 원형 int strcmp(const char* s1, const char* s2); s1과 s2를 비교해서 s1이 크면 양수, 같으면 0, 작으면 음수를 출력. 아스키 코드 값으로 비교해서 크고 작음을 판단한다. abc와 abd 의 경우 ab는 같고 c와 d를 비교해서 c가 아스키 코드 값이 작다. AAA와 AAAB의 경우 마지막 4번째는 null과 B를 비교한다. 사전에서 나오는 순서라고 봐도 무관하겠다. 어느 문자가 사전에서 더 나중에 나오는가?ㅎㅎ strncmp 함수의 원형 int strncmp(const char* s1, const char* s2, size_t n); strcmp와 같지만 비교할 문자의 길이를 정할 수 있다. 유용한 정보가 되셨다면 아래 손가락 버튼 한번 눌러.. 2011. 3. 28.
[C언어] 문자열 길이 반환 함수 (strlen) 간단예제. strlen 함수의 원형 size_t strlen(const char* s); 기본적으로 문자열의 끝에는 문자열의 끝을 알리는 null이 있다. strlen 함수는 null문자 이전 까지의 길이만 계산하여 리턴해 준다. 원형을 보고 아는 사람도 있겠지만. strlen() 괄호 안의 매개변수는 "문자열주소" 이다. 배열의 이름은 그 시작 배열의 주소와 동일하기 때문에 가능하다. strlen()은 그런 일이 별로 없지만 다른 문자열 관련 함수들에서 혼동하는 경우가 있다. 하지만, str[strlen(str)] 즉, str[4] 라고 하면 마지막 글자인 t 가 나올까? 여기가 함정이다. 4글자가 맞고. null 전까지 계산한게 맞다. 하지만, 배열은 0번부터 시작이다. 따라서 마지막 글자인 t는 str[3] .. 2011. 3. 28.
문자열 입.출력 함수(puts, fputs, gets, fgets) 문자열 출력 함수의 원형 int puts(const char* s); int fputs(conts char* s, FILE* stream); puts, fputs 모두 하나의 문자열를 출력할 때 일반적으로 사용하는 함수이다. 차이점은 puts은 모니터로 출력하지만, fputs는 출력 스트림을 지정할 수 있다는 것. 즉, file로 출력 할 수도 있고, 모니터로 출력할 수도 있다. 추가로 puts는 자동으로 줄을 바꿔준다. 줄바꿈을 보여주기 위한 간단한 예제 #include void main() { fputs("fputs 함수의 의한 출력, ", stdout); fputs("I LOVE YOU ", stdout); fputs("\n", stdout); puts("puts 함수에 의한 출력, "); puts.. 2011. 3. 28.
문자 입.출력 함수(putchar, fputc, getchar, fgetc) stdin(표준 입력 스트림), stdout(표준 출력 스트림), stderr (표준 에러 스트림) stdin은 키보드로 입력 받는 것. stdout는 모니터로 출력 하는 것. stderr은 에러를 출력 하는 것.(모니터로) 문자 출력 함수의 원형. int putchar (int c); int fputc(int c, FILE * stream); putchar, fputc 모두 하나의 문자를 출력할 때 일반적으로 사용하는 함수이다. 차이점은 putchar은 모니터로 출력하지만, fputc는 출력 스트림을 지정할 수 있다는 것. 즉, file로 출력 할 수도 있고, 모니터로 출력할 수도 있다. 문자 입력 함수의 원형. int getchar(void); int fgetc(FILE* stream); getcha.. 2011. 3. 28.
반응형