Why write `sizeof(char)` if char is 1 by standard?

前端 未结 12 1969
情书的邮戳
情书的邮戳 2021-01-31 07:26

I was doing some C coding and after reading some C code I\'ve noticed that there are code snippets like

char *foo = (char *)malloc(sizeof(char) * someDynamicAmo         


        
12条回答
  •  忘掉有多难
    2021-01-31 08:15

    Compare:

    float*baz = malloc(sizeof(float) * someDynamicAmount);
    int  *bar = malloc(sizeof(int)   * someDynamicAmount);
    char *foo = malloc(sizeof(char)  * someDynamicAmount);
    

    Vs:

    float*baz = malloc(sizeof(float) * someDynamicAmount);
    int  *bar = malloc(sizeof(int)   * someDynamicAmount);
    char *foo = malloc(someDynamicAmount);
    

    I like the first version. Do you prefer the second?

提交回复
热议问题