对32位系统C指针的一些测试
2005-04-06 18:25
225 查看
测试程序如下:
#include<iostream>
using namespace std;
void Try(char a[])
{
cout<<"sizeof(a):"<<sizeof(a)<<endl;
cout<<a<<endl;
}
void main()
{
char str[]="Hello";
char *p=str;
char *s="Hello";
int n=10;
char b[100]={'a','b','c','d','e','f','g','h'};
cout<<"sizeof(str):"<<sizeof(str)<<endl;
cout<<&p<<endl;
cout<<"sizeof(p):"<<sizeof(p)<<endl;
cout<<"sizeof(s):"<<sizeof(s)<<endl;
cout<<"sizeof(n):"<<sizeof(n)<<endl;
Try(b);
cout<<"sizeof(b):"<<sizeof(b)<<endl;
}
结果:
sizeof(str):6
0012F518
sizeof(p):4
sizeof(s):4
sizeof(n):4
sizeof(a):4
abcdefgh
sizeof(b):100
总结:
参数a[100]里的100是个障眼的数字,其实原本可以为a[],函数调用的时候,分配了一个指针a空间,而这个指针空间的大小本身就是4个字节,同sizeof(p),sizeof(s)一样是求指针本身的内存大小,而非指向的内存的大小。
那这里有个问题就是:数组指针str和指针s的区别在哪里呢?
#include<iostream>
using namespace std;
void Try(char a[])
{
cout<<"sizeof(a):"<<sizeof(a)<<endl;
cout<<a<<endl;
}
void main()
{
char str[]="Hello";
char *p=str;
char *s="Hello";
int n=10;
char b[100]={'a','b','c','d','e','f','g','h'};
cout<<"sizeof(str):"<<sizeof(str)<<endl;
cout<<&p<<endl;
cout<<"sizeof(p):"<<sizeof(p)<<endl;
cout<<"sizeof(s):"<<sizeof(s)<<endl;
cout<<"sizeof(n):"<<sizeof(n)<<endl;
Try(b);
cout<<"sizeof(b):"<<sizeof(b)<<endl;
}
结果:
sizeof(str):6
0012F518
sizeof(p):4
sizeof(s):4
sizeof(n):4
sizeof(a):4
abcdefgh
sizeof(b):100
总结:
参数a[100]里的100是个障眼的数字,其实原本可以为a[],函数调用的时候,分配了一个指针a空间,而这个指针空间的大小本身就是4个字节,同sizeof(p),sizeof(s)一样是求指针本身的内存大小,而非指向的内存的大小。
那这里有个问题就是:数组指针str和指针s的区别在哪里呢?
相关文章推荐
- 关于android 3.0系统的内存限制的一些测试数据
- 关于指针,对象周期,构造函数等的一些测试
- 关于二级指针的使用测试小例子,仅供测试--参数传递的时候用指针最好,因为压栈的时候指针,只是压入一个地址的值,最多4个字节(32位机上),提供的3个测试例子,基于VC6.0的环境。
- 容器,迭代器,数组指针,指针的指针 的一些测试
- 关于OSG智能指针 osg::ref_ptr 的一些测试
- 测试数据类型在32位系统下字节
- 自己在安装Parrot Security OS 前,做的一些测试,以防止更换系统时不耽误自己的工作
- 关于void*类型指针的一些测试
- 系统压力测试的一些基本概念
- 32位系统指针占4个字节,那64位系统呢?
- Linux之win764位下基于EasyBCD的硬盘安装ubuntu32位双系统一些错误总结
- .NET入门(六)测试系统支持的一些基础数据类型
- Linux 32位系统中的一些时间转换
- Linux文件系统编程 系统调用 文件偏移指针测试
- 32位Linux与64位Linux系统中指针 小小差别
- Go语言的指针的一些测试
- 集成测试与系统测试有什么区别?
- 系统复习:关于数组访问与指针数组
- net-snmp 一些系统mib节点值的存储位置 和 超时时间的设置
- ffmpeg/avconv 使用 vaapi 的一些测试记录