❶ 基本整型变量占几个存储单元
不同的编译系统为整型数据分配的字节数是不相同的,Turbo C 2.0和Turbo C++ 3.0中为一个整型变量分配2个字节的存储单元,而Visual C++ 6.0则分配4个字节。
❷ 整形数组与整形变量的存储区别
不太懂楼主的意思,整形数组是存储一组整形的数,整形变量只能存储一个整形值。
*(a+1)意思是a[1]的值=2,ptr是一个指针指向a[1],所以ptr-1就相当于是a[0]
❸ 整形变量
unsigned long 就是无符号长整型, 为了什么就只有根据具体情况来看了。 无符号回跟有符号长度答是一样的, 只是第一位不再作为符号位,所以数值部分会多一位
按符号算就是有符号无符号, 按长度算有 char , short , long , long long。 int在32位编译器里等同于long
short是16位,int一般是32位
不是那书瞎说就是你看错了。 long是32位, 或者说4字节。 int我上面说过了
位转换字节就是除以8的关系, 有些地方会不这么说, 因为以前有些cpu不是8位1字节的, 但是现在那种怪东西都不存在了, 8位1字节是事实标准了
❹ C语言中整形变量是如何在计算机中存储的
你好,
整数在C语言中是按二进制补码来存储的,
255的二进制补码是 0b 1111 1111;
所以以十进制输出的时候会输出为-1;
祝你生活愉快。
❺ int * p这句里面说这个“int”的意思是只能存放整形变量地址,请问存放整形变量地址是什么意思
你的理解是对的,int * p表示p是一个整型变量的指针,float * p表示p是一个单精度浮点型变量的指针 。
❻ c语言中怎样将一个整型变量所储存的地址中的数据取出来
是这个意思么专?属
#include <iostream>
using namespace std;
void main()
{
char szBuffer[] = "hello, world";
cout << hex << int(&szBuffer[0]) << endl;
unsigned int nAddr = unsigned int(&szBuffer[0]);
cout << *((char *)(void *)nAddr) << endl;
}
❼ C++变量的存储
指针值是一个地址值,是内存中的一个固定值。你应该问的指针变量存在那里回?指针变量,答可以看成是一个int型的变量,如果是局部的就存储在栈中。
例如:
int a = 1;
int* p = &a;
p的值是一个地址值,a的地址:0x9.。。。。。
指针变量p如果是局部的就存储在栈中。如果p在一个函数中,函数结束后,指针p就没有了。
另外指针指向的数据内容不一定存储在堆中,我上边的例子中p指向的内容是1,它是存储在栈中的。只有用new或者malloc分配的内存空间,才存储在堆中。
例如:
int n = 10;
int* p = (int*)malloc(n*sizof(int));
这里的p指向的数据才存储在堆中。
❽ 整型变量是地址吗整型变量存放整型常量是指h=16这种形式吗
#include<stdio.h>
int main()
{
int a=10;
printf("&a=%p",&a);
return 0;
}
输出:&a=0xbfc5947c
a是个变量 10是常量
地址是个数,是常量
const int a=10;这时a就是个常量(在程版序运行时,不会被修改权)
int h=16;是整型变量存放常量16但是倒过来讲就不太好了,常量有很多种
❾ int &a 是定义一个存放整形变量a的地址
int &a;这个声明应该是非法的。
合法的声明是:
int a; 定义一个int变量a
int *pa; 定义一个int指针变量pa
❿ 整形变量的存储问题
可以的,它会自动的转换成相应的类型,以该类型存储,像字符型转换为整型,单精度转换为双精度型。