C++指针长度size

原创 2011年01月14日 22:40:00

1.说明:

如果操作系统是32位,则指针是按32位寻址的,一个字节8位,所以得出其长度为32/8=4

 

2.代码

void TestPointSize(char cArray[])
{
 cout<<sizeof(cArray); //output is :4,not 6
 int iArray[5]={1,2,3,4,5};
 int *pArray=iArray;
 //指针是按32位寻地址
 cout<<"pArray size is:"<<sizeof(pArray)<<"/n";  //output is :4
}

 

int main(int argc, char* argv[])
{
 

char sArray[6]="hello";
cout<<sizeof(sArray);  //output is 6*1=6

TestPointSize(sArray); //传递相当于一个指针(数组首地址,可认为是一个指针)
 return 0;
}

 

3.面试时要注意

得到指针指向的数组的长度

1  、定义数组,要给定其长度,也可以用Type a[ ] = {……} 的方式。 在对数组进行操作时,可能需要计算数组长度,方法是:sizeof(数组名)/sizeof(元素类型)     ...

C/C++32位和64位编译器下,各数据类型和指针变量分配内存大小

C/C++32位和64位编译器下,各数据类型和指针变量分配内存大小。

[c++ 温故知新]类内char* 指针内存分配长度

已开始接触开发工作时,面对类内char* 指针,有时候在对其赋值时,面对内存分配长度往往不知所措,如字符串长度1024, 我们实际分配内存的时候,需要分配1024+1的内存,最后一位用于赋值‘’\0‘...
  • hzk745
  • hzk745
  • 2015年12月13日 13:22
  • 1748

深度长文教你彻底掌握C++/C指针

一.基础C++或者C里面最容易让人糊涂应该是指针了,不管是初学者甚至是有经验的童鞋有时候在用指针的时候也会出现一些很隐蔽的错误. 指针本身就是一个很绕的概念,而指针又能够和很多的结构比如数组(二维数...

认识size_t和指针类型的大小

size_t类型占用的空间到底是多少,size_t究竟是什么类型,本文将详细说明道来。...

指针的大小--sizeof问题

转自http://sexycoding.javaeye.com/blog/398601指针的大小是问:一个指针变量占用多少内存空间? 分析:既然指针只是要存储另一个变量的地址,。注意,是存放一变量的地...

c++ 求指针指向的字符串长度

#include #include #include int main() { unsigned char *str; unsigned char str1[3];/*注...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C++指针详解char * a, char ** a, char * a[], char a[][], char * a[][], char ** a[][], char * a [][][]

本文测试环境 : X86-64 bit 架构的服务器 CentOS x64 5.x gcc version 4.1.2 20080704 指针和数组是C的比较难搞懂的知识点, 需要结...
  • glt3953
  • glt3953
  • 2013年04月09日 11:46
  • 7289

关于++it和it++(前自增和后自增)

++it前自增,迭代器向前移动,返回对加1后的迭代器的引用; it++后自增,迭代器向后移动,返回原来的迭代器; 例如: while(it!=vec.end())      vec.push_...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++指针长度size
举报原因:
原因补充:

(最多只允许输入30个字)