1. 程式人生 > >字串的初始化

字串的初始化

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/*c語言沒有字串型別,通過字元資料模擬
  C語言字串,以字元‘\0’, 數字0
*/
int main01(void)
{
    //不指定長度, 沒有0結束符,有多少個元素就有多長
    char buf[] = { 'a', 'b', 'c' };
    printf("buf = %s\n", buf);

    //指定長度,後面沒有賦值的元素,自動補0
    char buf2[100] = { 'a', 'b', 'c' };
    printf("buf2 = %s\n", buf2);

    //所有元素賦值為0
    char buf3[100] = { 0 };

    //char buf4[2] = { '1', '2', '3' };//陣列越界

    char buf5[50] = { '1', 'a', 'b', '0', '7' };
    printf("buf5 = %s\n", buf5);

    char buf6[50] = { '1', 'a', 'b', 0, '7' };
    printf("buf6 = %s\n", buf6);

    char buf7[50] = { '1', 'a', 'b', '\0', '7' };
    printf("buf7 = %s\n", buf7);


    //使用字串初始化,常用
    char buf8[] = "agjdslgjlsdjg";
    //strlen: 測字串長度,不包含數字0,字元'\0'
    //sizeof:測陣列長度,包含數字0,字元'\0'
    printf("strlen = %d, sizeof = %d\n", strlen(buf8), sizeof(buf8));

    char buf9[100] = "agjdslgjlsdjg";
    printf("strlen = %d, sizeof = %d\n", strlen(buf9), sizeof(buf9));