C语言的char* char[]有区别
C语言里面,在很多时候,作为参数传递,有时候传递的是char*, 有时候传递的是char[]
要注意这里细微的差别:
//注意 char* char[] 的区别 char* sz1 = "1234567890"; char sz2[20] = {0}; char sz3[10] = "12345"; printf("sizeof(sz1):%d\n", sizeof(sz1)); printf("sizeof(sz2):%d\n", sizeof(sz2)); printf("sizeof(sz3):%d\n", sizeof(sz3)); printf("strlen(sz1):%d\n", strlen(sz1)); printf("strlen(sz2):%d\n", strlen(sz2)); printf("strlen(sz3):%d\n", strlen(sz3)); // sizeof(sz1):8 // sizeof(sz2):20 // sizeof(sz3):10 // strlen(sz1):10 // strlen(sz2):0 // strlen(sz3):5