小编n23*_*g16的帖子

如何知道传递给函数的字符数组的大小(以字节为单位)?

我正在测试sizeof运算符。在我的代码中的两种情况下,我得到了指针大小(我认为)。在其他情况下,我得到数组占用的字节数将数组传递给函数时,如何以字节为单位获取数组的大小? 不是的sizeof操作符就够了吗?难道我做错了什么?

#include <stdio.h>

/*Testing the operator sizeof*/

void test (char arrayT[]);
void test2 (char *arrayU);

int main(int argc, char *argv[]){

    char array1[7];
    printf("array1 size is:%d\n", sizeof array1);
    /*array1 size is: 7*/

    char array2[] = { '1', '2', '3', '4', '5', '6', '7'};
    printf("array2 size is:%d\n", sizeof array2);
    /*array2 size is: 7*/

    char array3[] = "123456";
    printf("array3 size is:%d\n", sizeof array3);
    /*array3 size is: 7*/

    unsigned char array4[] = …
Run Code Online (Sandbox Code Playgroud)

c arrays pointers sizeof char

2
推荐指数
1
解决办法
4857
查看次数

标签 统计

arrays ×1

c ×1

char ×1

pointers ×1

sizeof ×1