c++中,int *a=new int(120)语句是什么意思??
来源:百度知道 编辑:UC知道 时间:2024/05/18 17:53:12
int n=120;
int *a=new int(120);
int *a=new int[120];
int *a=new int(n);
以上的最后三条语句是什么意思??它们之间有什么区别??
为什么它们各自经以下语句后,输出的是相同的结果???
for(int i=1; i<120; ++i)
a[i]=i;
for(i=0; i<120; ++i)
cout<<i<<": "<<a[i]<<endl;
int *a=new int(120);
int *a=new int[120];
int *a=new int(n);
以上的最后三条语句是什么意思??它们之间有什么区别??
为什么它们各自经以下语句后,输出的是相同的结果???
for(int i=1; i<120; ++i)
a[i]=i;
for(i=0; i<120; ++i)
cout<<i<<": "<<a[i]<<endl;
这三个语句各自经过
for(int i=1; i<120; ++i)
a[i]=i;
for(i=0; i<120; ++i)
cout<<i<<": "<<a[i]<<endl;
结果会相同吗?
第一个语句和第三个语句情况下,程序肯定出错,数组越界。
int *a=new int(n);是申请一个int类型的内存空间,将其赋值为n,并将地址赋值给a。
而int *a=new int[120];是申请120个int类型的内存空间,将首地址赋值给a
int *a=new int(120)
表示a指向一个新分配的整数,这个整数的初始值是120
int *a=new int(120);是*a=120,int *a=new int[120];a指向一个数组大小为120。结果都是给a分配存储空间。
经过
for(int i=1; i<120; ++i)
a[i]=i;
赋值。
for(i=0; i<120; ++i)
cout<<i<<": "<<a[i]<<endl
把数组输出。
你试过吗
应该是越界出错.
java问题 int a[ ]=new int[5]是什么意思
java中的数组赋值给数组问题int[ ] a=new int[10];int[ ] b=new int[8];
C语言中 指针int *a=10;和int *a; *a=10;的区别
在java中如何将int[ ] num1=new int[6];变成int型
c语言int *p=a解释
C++语句int* p=new int是什么意思?
用Java将数组int a[] = new int a[]{1,10,3,5,6,3,21}排序输出
C语言中为什么int a=-1 printf("%o",a)等于177777
C中int i; int *i; int *&i; int &*i; 都有什么区别呢?
c语言中,int是什么意思?