字符串的初始化

#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));

猜你喜欢

转载自blog.csdn.net/u013988442/article/details/84027542