성엽이
KKIMSSI
성엽이
전체 방문자
오늘
어제
  • 분류 전체보기 (454)
    • :) (2)
    • C프로그래밍이론 (9)
    • C++프로그래밍 (64)
      • STL (1)
    • C# (2)
    • Visual studio 10.0 (9)
    • AT91SAM7S256 (21)
    • 논리회로 (14)
    • AVR2560 (11)
    • TCPIP (16)
    • NetWork (4)
      • Ubuntu Linux (2)
    • Assembly (21)
    • UNIX 프로그래밍 (6)
    • RFID 분석 (1)
    • Win32 API (7)
    • Cortex-M3 (4)
    • Unity (91)
    • Flutter (9)
    • OwnProject (11)
      • It's mine (5)
      • 마인드스톰 실습 (1)
      • 보고서 자료 (2)
      • RPi B+ (2)
    • ETC (25)
      • 상식 (3)
    • MFC (40)
    • PostgeSQL (18)
    • 영상제어 (6)
      • VFW_영상처리 (1)
    • Python (0)
    • Java (30)
      • SpringBoot (2)
      • Javascript (1)
      • JSP (13)
      • Spring (8)
    • Oracle (4)
      • SQL (3)
    • HTML (6)
      • Thymeleaf (1)
      • CSS (1)
      • Bootstrap (3)
    • IDE (1)
      • VS Code (1)
    • Android (2)
    • Privacy Policy (0)
    • MYSQL (2)
      • MariaDB (2)
    • AWS (5)
    • 개인공부 (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • 관리자
  • 글쓰기

공지사항

인기 글

태그

  • 문자열 나누기
  • ARM Reverse Engineering
  • Boot Code 분석
  • MFC
  • WINAPI

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
성엽이

KKIMSSI

C++프로그래밍

2013.04.08_문자열

2013. 4. 8. 10:57

8_1.c


8_1_1.c


8_2.c


8_3.c


8_4.c


 

8_1
#include
 < stdio.h >
#include < string.h >  // strlen() 함수의 사용

int main()
{  
  int length;
  int size;

  length = strlen("string");  // 문자열의 길이
  size = sizeof("string");  // 문자열이 저장된 공간의 크기
  
  printf("string length : %d\n", length);
  printf("string size : %d\n", size);

  return 0;
}

8_1_1
#include
 < stdio.h >
#include < string.h >  // strlen() 함수의 사용

int mystrlen(const char *);

int main()
{  
  int length;
  int size;

  length = mystrlen("string");  // 문자열의 길이
  size = sizeof("string");  // 문자열이 저장된 공간의 크기
  
  printf("string length : %d\n", length);
  printf("string size : %d\n", size);

  return 0;
}

int mystrlen(const char *ccp)
{
  int iCnt = 0;
  
  while(1)
  {
    if( 0 == *ccp )
    {  
      break;
    }
    ++iCnt;
    ++ccp;
  }
  
  return iCnt;
}


8_2
#include
 < stdio.h >

int main()
{
  char *p;
  
  printf("%s %p\t\n", "abc", "abc");  // 문자열 "abc" 가 저장된 메모리의
  printf("%s %p\t\n", "abc", "abc");  // 위치는 변한다. VS 10 버젼에서는 변함
            // VS 6에서는 변하지 않음.

  p = "abc";  // p 는 "abc"가 저장된 메모리의 주소값을 받는다.
  
  printf("%s %p\t\n", p, p);

  return 0;
}

8_3
#include
 < stdio.h >

int main()
{
  char astring[] = {'a','b','c','\0'};  // 초기화를 할때만 통째로 복사해가져간다.
  astring = "ab";    // astring 은 "abc" 가 저장된 
        // 공간의 주소값 "상수"이다.
  return 0;    // "ab" 도 주소값 상수
        // 둘다 상수이므로 오류가 뜸
}

8_4
#include
 < stdio.h >

int main()
{
  char astring[] = {'a','b','c','\0'};

  printf("%s\n", astring);// 출력 abc
  printf(astring);  // printf 는 문자열의 주소를 넘겨주면
  putchar('\n');    // 넣어둔 값을 출력한다. 그러므로
        // 배열이름만 써도 그대로 출력된다.
        // 출력 abc

  astring[1] = 'k';    // 'b' > 'k' 로 바뀜, 아스키코드를넣음
  printf("%s\n", astring);  // 문자열 상수를 변경가능


  return 0;
}

저작자표시 (새창열림)

'C++프로그래밍' 카테고리의 다른 글

2013.04.12_메인함수_임베디드약간  (0) 2013.04.12
2013.04.11_문자열을다루는배열,포인터배열  (0) 2013.04.11
2013.04.05_함수인수로써배열표기방법,형식인수로다차원배열사용되는경우  (0) 2013.04.05
2013.04.04_2차원배열  (0) 2013.04.04
2013.04.03_헥사뷰어만들기  (0) 2013.04.03
    'C++프로그래밍' 카테고리의 다른 글
    • 2013.04.12_메인함수_임베디드약간
    • 2013.04.11_문자열을다루는배열,포인터배열
    • 2013.04.05_함수인수로써배열표기방법,형식인수로다차원배열사용되는경우
    • 2013.04.04_2차원배열
    성엽이
    성엽이

    티스토리툴바