2015年6月9日 星期二

C語言 - sizeof(), strlen()


static void tim_test(void)
{
    char str1[]="12345\n";
    char *p1=str1;

    UINT8 a,b,c,d,e;

    a=sizeof(str1);
    b=sizeof(p1);
    c=sizeof(*p1);

    d=strlen(str1);
    e=strlen(p1);

    libc_printf("%s(): a=%u, b=%u, c=%u, d=%u, e=%u \n",__FUNCTION__,a,b,c,d,e);
 
}

/*
sizeof(str1)=? 7  ("有"包括terminated null character)
sizeof(p1)=?  4 (指標變數)
sizeof(*p1)=? 1   char型態的指標 1 byte
*/

--
程式輸出:
tim_test(): a=7, b=4, c=1, d=6, e=6

沒有留言:

張貼留言