몽상실현개발주의

[따배씨] 4.4srlen() 함수 본문

Language/C

[따배씨] 4.4srlen() 함수

migrationArc 2021. 5. 13. 18:38

[따배씨] 4.4srlen() 함수

따배씨 - 따라하며 배우는 C언어

4강 문자열과 형식 맞춘 입출력

4.4 srlen() 함수

#include <stdio.h>
#include <string.h> // strlen and more

int main()
{
    char str1[100] = "Hello";   // [H, e, l,l ,o ,\0, ~~~~, ]
    char str2[] = "Hello";      // [H, e, l, l, o, \0]
    char str3[100] = "\0";      // [\0, ~~~~, ]
    char str4[100] = "\n";      // [\m, ~~~~, ]
    
    printf("%zu %zu\n", sizeof(str1), strlen(str1));
    //100 5
    
    printf("%zu %zu\n", sizeof(str2), strlen(str2));
    // 6 5
    printf("%zu %zu\n", sizeof(str3), strlen(str3));
    // 100 0
    
    printf("%zu %zu\n", sizeof(str4), strlen(str4));
    // 100 1
    
    return 0;
}
  • sizeof - String에 할당된 공간 Count
  • strlen - Null character를 제외한 글자수를 Count
    • 빈칸은 Count

 

#include <stdio.h>
#include <string.h> // strlen and more
#include <stdlib.h> // malloc

int main()
{
    char *str5 = (char*)malloc(sizeof(char) * 100);
    
    str5[0] = 'H';
    str5[1] = 'e';
    str5[2] = 'l';
    str5[3] = 'l';
    str5[4] = 'o';
    
    str5[5] = '\0';
    
    printf("%zu %zu\n", sizeof(str5), strlen(str5));
    // 8 5 - x64 bit 컴퓨터의 pointer size, 글자 수
    // 4 5 - x86 bit 컴퓨터의 pointer size, 글자 수
    
    return 0;
}
  • pointer 변수의 size
    • 86x(32bit) -> 4byte
    • 64x(64bit) -> 8byte

 

 


이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.

http://blog.naver.com/atelierjpro

 

실리콘 밸리의 프로그래머 : 네이버 블로그

안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.

blog.naver.com

http://www.inflearn.com/course/following-c

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com

 

Comments