百度试题 结果1 题目sizeof (char)的结果值是___。 A. 4 B. 2 C. 1 D. 出错 相关知识点: 试题来源: 解析 C 反馈 收藏
该字符占4字节。sizeof(char*)的值为4。因为char*代表一个指针,在32bit环境中为4字节,也即unsigned int的字节长度。在C语言中,sizeof是一个操作符(operator),而不是函数。其用于判断数据类型或者表达式长度(所占的内存字节数)。
sizeof(char*) 返回字符型指针所占内存的大小,值为4,所有指针的大小值都为4,注意~是指针,不管是什么型的。而sizeof(char) 则是返回char类型所占的内存大小,值为1,不同类型所占内存不一定相同,即使相同,对于数值的辨认也不同,建议翻一翻相关书籍~...
sizeof只是求变量所占的字节数,sizeof(char *) = 4字节; strlen(char*) 可以得到整个字符串的长度。 如果是数组vec,那么使用sizeof就可以得到整个数组的所占的字节数目,但是要得到具体的数目,就必须除以每个字符占的字节数目。 参考:http://blog.sina.com.cn/s/blog_67d069a90100ui4p.html char* p = "...
比如char *strlist[] = {"American", "Germany", "Japan", "China", "France", "Russia"} 此时sizeof(strlist) = 6*4 = 24(Byte),代表着6个char*类型的总大小。 所以想求的字符串指针数组的字符串元素个数就可以用 sizeof(strlist)/sizeof(char*)来得到。
3. char* 类型应特别注意,sizeof()计算出来的是指针大小,32位系统4字节,64位占8字节,与char*的字符串毫无关系,只有char[N]字符数组使用sizeof ()计算大小,结果是数组元素个数,而非指针大小,但是如果将其用于参数传递的话,子函数中获取的将不再是字符串数组类型,而是指针,这个要特别注意。
4? 因为chat *定义指针类型变量,后者都是4字节
sizeof(char*)sizeof(int*)就是指的指针的大小,指针大小在特定的编译平台上市固定的,所以两个都为4个字节
sizeof(char) = 1sizeof(short) = 2sizeof(int) = 2(16位机),4(32位机),8(64位机)sizeof(float) = 4sizeof(long) = 4(不知道64位机是多少)这些其实是每种变量类型所占用的内存的字节数。3.14实际是一个浮点数,系... 分析总结。 sizeofchar1sizeofshort2sizeofint216位机432位机864位机siz...
sizeof(char)计算char类型占用的字节数。sizeof(char)== 1 malloc申请动态内存 (char *)把指针强制转换为char类型指针。合起来就是动态申请一个char类型大小的内存。