以下为WindowsNT下32位 C++程序,请计算sizeof的值

本文通过一系列示例代码详细解析了C语言中sizeof运算符的使用方法及其返回值特点,帮助读者理解不同数据类型及指针在内存中所占的空间大小。

转帖地址:http://hi.baidu.com/hikeba/blog/item/68ad9f10a7dd8003213f2ecf.html

 

char str[]="hello";
char *p1=str;
int n=10;

sizeof(str)=?
sizeof(str)=?
sizeof(str)=?

void Func(char s[100])
{
sizeof(s)=?
}

void *p2=malloc(100);
sizeof(p)=?

///////////////////////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;


void Func(char s[100]) ;

int main(void)
{
   
      char str[]="hello";
      char *p1=str;
      char ch='k';
      int n=10;
      void *p2=malloc(100);
      printf("sizeof(str)       %d/n",sizeof(str));
      printf("sizeof(&str)       %d/n",sizeof(&str));
      printf("sizeof(p1)       %d/n",sizeof(p1));
      printf("p1显示x       %x/n",p1);
      printf("&p1显示x       %x/n",&p1);
      printf("str显示x       %x/n",str);
      printf("str显示s       %s/n",str);
      printf("&str显示x       %x/n",&str);
      printf("ch显示c       %c/n",ch);
      printf("ch显示x       %x/n",ch);
      printf("&ch显示x       %x/n/n",&ch);
      printf("sizeof(&p1)       %d/n",sizeof(&p1));
      printf("sizeof(n)        %d/n",sizeof(n));
      printf("sizeof(&n)       %d/n/n",sizeof(&n));
      printf("n的显示x        %x/n",n);
      printf("&n的显示x        %x/n",&n);
      printf("sizeof(p2)        %x/n/n",sizeof(p2));

      Func(str);

      system("pause");
      return 0;

}

void Func(char s[100])
{
// s[100]="hike";
printf("Func sizeof(s)       %d/n",sizeof(s));
printf("Func sizeof(&s)       %d/n",sizeof(&s));
}

 

结果:

sizeof(str)       6
sizeof(&str)       6
sizeof(p1)       4
p1显示x       12ff78
&p1显示x       12ff74
str显示x       12ff78
str显示s       hello
&str显示x       12ff78
ch显示c       k
ch显示x       6b
&ch显示x       12ff70

sizeof(&p1)       4
sizeof(n)        4
sizeof(&n)       4

n的显示x        a
&n的显示x        12ff6c
sizeof(p2)        4

Func sizeof(s)       4
Func sizeof(&s)       4
请按任意键继续. . .

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值