1.0XAA表示十六进制unsigned int类型的数据,对于八进制和十六进制,系统优先解释为无符号类型
2.arr和&arr对应的地址值一样,但 意义不一样
3.strlen和sizeof:
sizeof:
对于{}表示的数组,不计算\0,对于""表示的数组,计算 \0,并以位的方式输出
strlen:
读取到\0才停止(不包括\0),输出为字符(包括标点和空格等)
例如:
int main()
{
char arr1[10] = {1,2,3};
char arr3[] = { '1','2','3' };
char arr2[] = "123";
int sz1 = strlen(arr1);
int sz2 = strlen(arr2);
int sz3 = sizeof(arr1);
int sz4 = sizeof(arr2);
int sz5 = sizeof(arr3);
printf("%d,%d,%d,%d,%d", sz1, sz2,sz3,sz4,sz5);
return 0;
}输出为3,3,10,4,3
而且若给与数组大小,sizeof输出为数组大小的给定值,如sz3,而是strlen不会
另外:sizeof在运算类型时一定要圆括号,运算特定量时圆括号可有可无
博客介绍了C语言相关知识,包括十六进制数据优先解释为无符号类型,arr和&arr地址值相同但意义不同。还详细对比了strlen和sizeof的区别,如sizeof对不同数组表示方式的计算规则,以及运算类型和特定量时括号的使用情况,并给出示例代码。
454

被折叠的 条评论
为什么被折叠?



