www问答网
所有问题
当前搜索:
sizeof求指针长度
请问在c语言中 char *a ="hello world" 用
sizeof
(a)结果为4 而用c
答:
char *a ="hello world"//这里a只是指针
sizeof
(a)是指
指针长度
char a[]="hello world"//这里a是数组名 sizeof(a)是指数组总长度
为什么字符
指针
的
sizeof
等于4
答:
指针
在计算机中存储的是数据的地址是 int 类型的,
长度
永远是4,不管是什么类型的指针。
C语言
中 sizeof
运算的值是在编译时还是运
答:
既然是来存放地址的,那么它当然等于计算机内部地址总线的
宽度
。所以在32位计算机中,一个指针变量的返回值必定是4(注意结果是以字节为单位),但是,在64位系统中指针变量的sizeof结果为8。 char*pc="abc";int*pi;string*ps;char**ppc=&pc;void(*pf)();//函数
指针sizeof
(pc);//结果为4sizeof(pi);//结果...
...x[20]="good\0morning";printf(“%d %d\n”,strlen(x),
sizeof
...
答:
转义符'\0'表示字符串内容的结束,所以"morning"不会算作字符串部分。puts( x )会发现,只输出"good"。strlen( x )是输出字符串的
长度
,字符串是"good",所以strlen( x )是4。
sizeof
( x )是变量x占用的字节数。x是一个20个char类型元素构成的数组。每个char类型占1个字节,一共20个。所以...
strlen和
sizeof求
字符串
长度
的区别
答:
strlen只能用char*做参数,且必须是以''\\0''结尾的。
sizeof
还可以用函数做参数,比如:short f();printf("%d\\n", sizeof(f()));输出的结果是sizeof(short),即2。2、功能不同 sizeof的功能能是,获得保证,能容纳实现所建立的最大对象的字节大小。strlen的功能是返回字符串的
长度
,该字符...
在C语言中一个
指针
占用多少字节。
答:
指针
即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关。比如以前是16位系统,指针即为2个字节,现在一般是32位系统,所以是4个字节。指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的...
void Func ( char str[100] ) {
sizeof
( str ) = 4 } 为什么是等于4,如...
答:
在C/C++里数组作为参数时传递的实际上是指向数组第一个元素的指针,因此
sizeof
(str)返回的是
指针的大小
,即4。注意以下三种形式的参数是完全等价的:void Func(char str[100]);void Func(char str[]);void Func(char *str);因为传递的本质上是指针,所以维数也是不必要的。以下调用是完全合法的:...
char *a[100],求
sizeof
(a)
答:
数组a是
指针
数组,指针大小是整型大小4。所以
sizeof
(a) = 4 * 100 = 400
C语言中的
指针
问题到底是怎么回事~
答:
接下来的第3句中,
指针
ptr被加了1,编译器是这样处理的:它把指针ptr的值加上了
sizeof
(int),在32位程序中,是被加上了4。由于地址是用字节做单位的,故ptr所指向的地址由原来的变量a的地址向高地址方向增加了4个字节。由于char类型的
长度
是一个字节,所以,原来ptr是指向数组a的第0号单元开始的四个字节,此时...
C++ 怎么得到字符串
指针
指向的内存块
的大小
?
答:
唯一的解决办法就是增加一个
长度
参数 在字符串
指针
指向的内容是空字符结尾的字符串的时候,可以使用strlen来获取指向字符串
的大小
但是实际指向内存块的大小,是无法知道的。这是因为指针在作为参数传递的时候,只传过来了地址值,而没有传过来任何长度信息 实际上指针的长度信息是编译阶段获取的,而函数...
棣栭〉
<涓婁竴椤
4
5
6
7
9
10
8
11
12
13
涓嬩竴椤
灏鹃〉
其他人还搜