C++中,形如int *a = 1; 在内存上,是不是相当于创建了一个整形变量和一个储存该变量地址的长形变量?

2025-03-17 07:59:23
推荐回答(3个)
回答1:

首先,“int *a = 1”这种表示就是错误的,int *a,意为定义一个整型指针变量,为它赋值的只能是地址!你这里1只是整型常量,即使能勉强赋值,也不会得到应得的结果。

回答2:

语法错误,int *a;表示定义int类型指针a,a为指针而已,未指向实际地址,int *a=new int(n);申请一个整型变量空间,赋初值为n,并定义一个整型指针a指向该地址空间

回答3:

a没有分配空间