www问答网
所有问题
当前搜索:
sizeof求指针长度
C语言
中sizeof
是什么意思?
答:
a;,则
sizeof
(a)也能计算出系统为int型变量分配的字节数。再如sizeof(已声明过的数组名),就得到系统为这个数组分配的字节数,而sizeof(
指针
)则只计算出系统为指针分配的字节数(至于指针指向的内容占多少字节并不得而知)。多说一句,有人把sizeof和函数混淆了,这是不妥的,sizeof不是函数。
怎么用
sizeof
检测
指针
指向数组大小?
答:
因为_msize(p)“返回在堆中分配的内存块
的大小
”,你为p分配了6个int空间,每个int是4字节。而对于cout <<
sizeof
(*p) << endl;,输出是一个int型数据所占内存的大小,在32位机上是4,在16位机上是2。如果写成cout << sizeof(p) << endl;,输出仍然是4,因为p是
指针
,只需要4字节。
计算有n(n<10)个元素的
指针
数组s中最长的字符串的
长度
!
答:
试修改代码如下:include<stdio.h>#include<stdlib.h>#include<string.h>int max_len(char *s[10],int n){int i,max,k;max = 0;for(i=0;i<n;i++){k = strlen(s[i]);max = (max>k)?max:k;}return max;}int main(void){int n,i,j;char *s[10], str[10];printf("...
对象
指针
,
sizeof
对吗
答:
对的,无论你的对象占多少字节,该对象
指针
存储的是是这个对象的起始地址,指针的size取决于计算机的字长。32位计算机就是4字节。。64位计算机就是8字节,但是又与编译器有关。
sizeof
只是计算的是静态类型
的大小
。在编译时,直接用常数给替换了。
sizeof
问题
答:
那么,
sizeof
(char)=1, sizeof(int)=4,sizeof(short)=2。所以对于name1,str起始地址为name1+0,x起始地址为name1+2,num起始地址为name1+4。计算到name1的末端,一共8个字节长,其中有3字节没有存储数据。name2同理,str:0 num:4 short:8,总共占据10字节,不过,struct
的大小
本身也有...
c++详细讲解
答:
sizeof
(s)、sizeof(*s)、strlen(s)的值分别是4、1、5。sizeof是求字节数大小,strlen是求字符串
长度
。sizeof(s)是求s的字节数大小,此时s是一个
指针
变量(int型),而在C++中一个指针变量固定占4个字节。sizeof(*s)是求*s的字节数大小,而*s是char类型,在C++中一个char变量占1个字节。...
char str[ ]= "Hello";
答:
char *p=str;int n=10;
sizeof
(str)=( 6 )/*求总共的字节数,不是
长度
数,比较strlen函数了*/ sizeof(p)=( 4 )/*32机器上*/ sizeof(n)=( 4 )void func(char str[100]){ } sizeof(str)=( 4 )/*数组作为参数传递给函数时,传的是
指针
而不是数组,传递的...
c语言 字符数组 字符
指针
sizeof
strlen 的区别
答:
c语言 字符数组、字符
指针
、
sizeof
strlen的区别为:数据
长度
不同、操作不同、所占空间不同。一、数据长度不同 1、字符数组:字符数组需要在初始化时就定义字符数组的数据长度。2、字符指针:字符指针的数据长度由指针指向的字符数据决定。3、sizeof strlen:sizeof strlen自动确定sizeof strlen的数据长度...
详细讲一下 数组大小=
sizeof
(数组名)/sizeof(数组类型)
答:
sizeof
(数组名)这个是数组的内存空间
的大小
,sizeof(数组类型)这个是这个数据类型的大小,两者相除不就是一共有多少个int类型的数据么,不就是数组的大小了么
一个
指针
指向数组,如何计算数组的
长度
答:
include <stdio.h>int main(){ int a[100],i; printf("a数组占用的字节数=%d\n",
sizeof
(a)); printf("a数组的元素个数=%d\n",sizeof(a)/sizeof(int));}
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜