您的位置:首页 > 编程语言

一些简单的数组运算

2017-04-09 22:53 162 查看
char arr[] = "abcdef";//7
printf("%d\n", sizeof(arr));//7
printf("%d\n", sizeof(arr+0));//4
printf("%d\n", sizeof(*arr));//1
printf("%d\n", sizeof(arr[1]));//1
printf("%d\n", sizeof(&arr));//4
printf("%d\n", sizeof(&arr+1));//4
printf("%d\n", sizeof(&arr[0]+1));//4

printf("%d\n", strlen(arr));//6
printf("%d\n", strlen(arr+0));//6
printf("%d\n", strlen(*arr));//X
printf("%d\n", strlen(arr[1]));//X
printf("%d\n", strlen(&arr));//6
printf("%d\n", strlen(&arr+1));//随机值
printf("%d\n", strlen(&arr[0]+1));//5

        数组名在C语言中只有在单独放在sizeof里以及&数组名时,代表整个地址,例如(sizeof(arr)   &arr),其他时间都代表的是数组首元素的地址,如(sizeof(arr+1)  strlen(arr))

 而strlen函数是用来计算字符串长度的,它的原理是从参数的地址开始,到它地址之后的第一个'\0'为止。

        搞清楚这两个点。相信在做上边的题应该没有任何难度了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  代码 初学者