c++一个指针大小

如题所述

在Dev-C++中,每个指针的大小都是8个字节的。

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-09-30
大小是4个字节,存储内容是一个地址。
定义一个指针,必须赋予这个指针一块内存空间,可以用malloc类的命令分配,也可以指向一块既有的内存空间。

c\/c++的指针大小如何确定?
sizeof(p2)得到的是指针变量p2的大小,p2存储的是一个地址,32位系统环境就是4个字节,所以这里是4 int *p2 = new int[100]; 这句是分配了4*sizeof(int)这么大的内存空间,让p2指向了这段内存空间的首地址,并不是把p2变成了数组,p2还是那个p2,是个指针变量,只占4个字节的内存空间。

c++中对一个指针数组使用sizeof
sizeof(指针) = 4;sizeof(指针数组) = 4 * 数级长度;例:定义:char *p[100];则:sizeof(p) = 400;你提的问题不详细,如果答非所问,你可以再补充一下问题。

c++ 能否从一个char数组的指针知道这个数组的大小?
不能,char *s;s是个字符指针,我们只知道它能指向一个字符,除此之外,可以说一无所知;s = "abcd";s = "abcdefghijk";s = "abcdefghijklmnopqrstuvwxyz";上面的s都是指向字符'a';你认为,除了知道s,指向 'a',我们还能知道的更多吗??甚至 char a = 'a', *s = &a;这里的s也...

我是个c++初学者,感觉学到指针这比较难,尤其是2级指针,哪为大虾能给...
在32位程序里,所有类型的指针的值都是一个32位整数,因为32位程序里内存地址全都是32位长。 指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为si zeof(指针所指向的类型)的一片内存区。以后,我们说一个指针的值是XX,就相当于说该指针指向了以XX为首地址的一片内存区域;我们说一个指针指向了...

c++指针怎么知道指向内存的大小
Type* Tmp = reinterpret_cast<Type*>(ptr);你可以试试,没有任何人知道内存有多大,你只能知道你在用什么类型去使用这个内存,而那个类型的大小你是知道的(编译器会帮你计算的).

c++指针怎么比大小
假设有两个整型指针p,q的声明为int* p, q;如果直接比大小如p > q,比较的是指向的数据在内存中的先后关系 若要比较指针指向的数据的大小,应用*运算符获取指针指向的值再进行比较,如*p > *q、*p == *q

C++ 获取一个带void指针的结构体变量 总共的字节数?
那么x1就是9,如果按照系统默认的#pragma pack(4),那么x1占用的内存大小就是12,你的d就算1000万,也是这么大。3.d表示x1->b分配一个内存的大小,和x1没半点关系,不信你delete x1而不去free(b),看看是不是内存泄露。4.正确的表述应该是:x1大小为sizeof(X);x1->b大小为d ;这两个内存...

c++ 中指针能不能有++操作,就是地址加一?
对于指针的++,在C++里,默认是对类型进行++ int *p = xxxx;p++;等价于 p = p + sizeof(int *) ;sizeof是用来计算大小的。指针的大小一般为4字节。所以p++就是加上4个字节。

C++,根据sizeof(指针)的大小判断操作系统的位数可以么
sizeof(指针)的大小只跟当前程序的编译设置有关。比如,你用VC编译一个32位的程序,那么sizeof(void *)的值就是32。就算你在64位的windows上运行这个程序,sizeof(void*)还是32,因为这已经在编译的时候就确定了。同样,如果你编译的是一个64位程序,那么sizeof(void*)就是64,就算将来有128位...

C++ 怎么得到字符串指针指向的内存块的大小?
唯一的解决办法就是增加一个长度参数 在字符串指针指向的内容是空字符结尾的字符串的时候,可以使用strlen来获取指向字符串的大小 但是实际指向内存块的大小,是无法知道的。这是因为指针在作为参数传递的时候,只传过来了地址值,而没有传过来任何长度信息 实际上指针的长度信息是编译阶段获取的,而函数...

相似回答