C Func strlen - sonkoni/Koni-Wiki GitHub Wiki

string.h

strlen

λ¬Έμžμ—΄ 길이λ₯Ό λ°˜ν™˜ν•œλ‹€.

size_t strlen(const char *str);
// str: λ¬Έμžλ°°μ—΄ ν˜Ήμ€ λ¬Έμžμ—΄ν¬μΈν„°
// λ¬Έμžμ—΄ 길이 λ°˜ν™˜(count. κΈ€μž 갯수)

STRing LENgth μ—μ„œ λ”°μ™”λ‹€. 포인터 μ€‘μ—μ„œ null-terminated 처리된 것이 λ¬Έμžλ°°μ—΄ ν˜Ήμ€ λ¬Έμžμ—΄ν¬μΈν„°μ΄λ‹€. Cμ–Έμ–΄λŠ” λ¬Έμžμ—΄ 길이λ₯Ό μ €μž₯ν•˜μ§€ μ•ŠλŠ”λ‹€. λŒ€μ‹  끝에 NUL(\0)을 λ„£μœΌλ©°, 이λ₯Ό λ§Œλ‚˜λ©΄ λ¬Έμžμ—΄ 처리λ₯Ό μ’…λ£Œν•œλ‹€.

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[]) {
    const char str[] = "Hello World!!";
    printf("count: %zu\n", strlen(str));
    printf("bytes: %zu\n", sizeof(str));
    
    return 0;
}
// count: 13
// bytes: 14
index  0  1  2  3  4  5  6  7  8  9  10 11 12 13
      ╔══╦══╦══╦══╦══╦══╦══╦══╦══╦══╦══╦══╦══╦══╗
      β•‘h β•‘e β•‘l β•‘l β•‘o β•‘  β•‘W β•‘o β•‘r β•‘l β•‘d β•‘! β•‘! β•‘\0β•‘
      β•šβ•β•β•©β•β•β•©β•β•β•©β•β•β•©β•β•β•©β•β•β•©β•β•β•©β•β•β•©β•β•β•©β•β•β•©β•β•β•©β•β•β•©β•β•β•©β•β•β•
count  1  2  3  4  5  6  7  8  9  10 11 12 13
bytes  1  2  3  4  5  6  7  8  9  10 11 12 13 14

NUL은 κΈ€μžμ˜ len에 ν¬ν•¨λ˜μ§€ μ•Šμ§€λ§Œ size λŠ” μ°¨μ§€ν•œλ‹€.

⚠️ **GitHub.com Fallback** ⚠️