×

sizeof(a) )

sizeof(a)(C语言,sizeof (a)为什么是6)

admin admin 发表于2023-08-31 15:32:44 浏览40 评论0

抢沙发发表评论

本文目录

C语言,sizeof (a)为什么是6

答:下面的图文解析已经说得很清楚了。sizeof ()函数求的是括号内参数所占存储空间的大小,而题目中a是一个数组,按初始化时的长度是5。你应该是看错了,sizeof(a)对应的是第二个数字,也就是5,而不是第一个数字6,strlen(a)对应的才是6。如果还不明白,可以追问。

C语言中,sizeof运算符有什么作用

sizeof运算符

该运算符在编译阶段就已经起作用了。它以字节为单位返回其操作数的大小。它的操作数可以是数据对象也可以是一个类型。如果是类型那么操作数需要用圆括号括起来。

如:sizeof(int)=4;

扩展资料:

C语言其他运算符:

1、取模运算符%

该运算符有个特性就是只支持整数运算。它的作用就是用左边的操作数除以右边的操作数得到的余数。它对浮点数其他类型不起作用。

如:11%2=1因为11除以2得5余1

2、自增自减运算符++/--

这种运算符的基本作用就是让其操作数增加1或者减去1。这种运算符有两种模式:前缀模式和后缀模式。

前缀模式:运算符放在操作数的前面,在表达式中求值时先将操作数进行加1或者减1操作然后再参与运算。

后缀模式:运算符放在操作数的后面,在表达式中求值时先将操作数参与运算然后再对操作数进行加1或者减1操作。

3、三目运算符?:

顾名思义就是三个操作数的运算符,它的用法时当问号前面的表达式的值为真时,取值为冒号前面的数值,否则取值为冒号后面的数值。由于它的执行效率较高,常被我们用来代替条件语句。

如:x》1?2:3;这句话的意思就是当x的值大于1时,整个表达式的值为2,否则为3。

参考资料来源:百度百科-C语言

a为数组名sizeof(a)和sizeof(&a)有什么区别,sizeof(a)代表什么希望能详细回答一下谢谢

sizeof(a)是把a作为一个数组类型来测试大小,结果是数组占用的字节数。sizeof(&a)是把&a作为一个地址类型来测试大小,结果是4(64位系统里可能是8)。 数组名本身在计算中会自动转化成第一个元素的地址,但sizeof测试的时候不做计算,不转化。

int(sizeof(a)/sizeof(a[0]))是什么意思啊

这个不是编程语言么,,怎么分类到英语考试了。。sizeof函数如果我没记错的话应该是求属于或者矩阵的大小,所以sizeof(a)就是数组a的大小,那么sizeof(a)就是数组a中第0个元素的大小,而属于中每个元素的大小都是一样的啊,因为每个元素类型一样,所以二者相除就是这个数组的长度,那前面那个int就是将这个值的类型由size_t强制转换为短整型int,以用于后续计算和输出。

C语言中sizeof是什么意思

sizeof是C语言中保留关键字,也可以认为是一种运算符,单目运算符。常见的使用方式:

int a=10;

int arr=;

char str=“hello“;

int len_a = sizeof(a);

int len_arr = sizeof(arr);

int len_str = sizeof(str)

printf(“len_a=%d,len_arr=%d,len_str=%d\n“,len_a,len_arr,len_str)

结果是:len_a=4,len_arr=12,len_str=6

扩展资料:

在 Pascal 语言中,sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位)。

在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。

在Pascal 语言与C语言中,对 sizeof() 的处理都是在编译阶段进行。

sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。

MSDN上的解释为:

The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate types). This keyword returns a value of type size_t.

参考资料:

百度百科-sizeof

c语言中sizeof()和strlen()用法上有什么区别呢

  1. sizeof是操作符,不是函数。它后面的()并不是必须的,没有歧意时就不必写上了。sizeof操作符计算的是系统为它后面的变量或类型名分配的空间大小,无论其中是否存储了有用数据。

  2. strlen()是库函数,()中必须是字符串指针或字符串常量,它返回的是检测对象中第一个’\0’前的字符个数,不含’\0’。

下面的代码可能对此解惑:

//#include “stdafx.h“//If the vc++6.0, with this line.#include “stdio.h“#include “string.h“int main(void){    char s=“1234“,p={’f’,’j’,’k’,’d’,’s’,’a’,’l’,’\0’,’1’,’2’,’3’,’4’,’5’,’\0’};    printf(“sizeof(s) = %d\n“,sizeof s);//这里s没有加(),也正确    printf(“strlen(s) = %d\nstrlen(p) = %d\n“,strlen(s),strlen(p));            //上句检测p时遇到第一个’\0’就结束了    return 0;}

sizeof(a)和sizeof(*a)分别是什么意思

a 是一个数组,有9位int型sizeof(a) 就是 a整个的存储字节数 就是 9*4=36*a相当于a 就是一个存储单元的内容sizeof(*a) 就相当于 sizeof(int) =4