问题标题: 愁!恰似一壶二锅头!

0
0
已解决
蒋智航
蒋智航
高级天翼
高级天翼

话说郑**曾经在这里问了一个问题,叫“C++中有哪些关键字……”

 

我啊,想问一下其中是什么意思;

其他的我不懂,我只问短的:

各位大佬,请问

new

是什么意思啊?

各位大佬,请问

goto

是什么意思啊?

 

 

蒋智航在2018-09-03 13:53:37追加了内容

(⊙﹏⊙)


0
已采纳
李颂宥
李颂宥
初级光能
初级光能

new 是申请动态存储空间 

⑴new可用来生成动态无名变量,
如 int *p=new int;
int *p=new int [10]; //动态数组的大小可以是变量或常量;而一般直接声明数组时,数组大小必须是常量
又如:
int *p1;
double *p2;
p1=new int(12);
p2 = new double[100]
l 分别表示动态分配了用于存放整型数据的内存空间,将初值12写入该内存空间,并将首地址值返回指针p1;
l 动态分配了具有100个双精度实型数组元素的数组,同时将各存储区的首地址指针返回给指针变量p2
对于生成二维及更高维的数组,应使用多维指针。
以二维指针为例
int **p=new int* [row]; //row是二维数组的行,p是指向一个指针数组的指针
for(int i=0; i<row; i++)
p[i]=new int [col]; //col是二维数组的列,p是指向一个int数组的指针
删除这个二维数组
for(int i = 0; i < row;i++)
delete []p[i]; //先删除二维数组的列
delete []p;
⑵使用完动态无名变量后应该及时释放,要用到 delete 运算符
delete p; //释放单个变量
delete [ ] p;//释放数组变量(不论数组是几维)
相比于一般的变量声明,使用new和delete 运算符可方便的使用变量。 

goto可以跳转到代码的任意行,举个栗子:

如果你做了一个多重循环,执行到中间就不想执行了,用一个break可是不行的偶,那怎么办哪?要在每一个循环里都打一个break,其实不需要那么麻烦,只需要用一个goto就可以了,如下:

for(...)

    for(...)

        for(...)

            语句

               goto out;

out:

需要注意的是,goto需要一个书签,一般用out表示,这样goto就可以直接跳到out的那一行了。

但是在c++里不建议用goto,因为,如果你的书签打错了(out打错行了),那样你的整个程序就错了,也不好找。

纯属手打, 如果我说的有错,请在评论区里指出,谢谢

3
李颂宥
李颂宥
初级光能
初级光能

new 是申请动态存储空间 

⑴new可用来生成动态无名变量,
如 int *p=new int;
int *p=new int [10]; //动态数组的大小可以是变量或常量;而一般直接声明数组时,数组大小必须是常量
又如:
int *p1;
double *p2;
p1=new int(12);
p2 = new double[100]
l 分别表示动态分配了用于存放整型数据的内存空间,将初值12写入该内存空间,并将首地址值返回指针p1;
l 动态分配了具有100个双精度实型数组元素的数组,同时将各存储区的首地址指针返回给指针变量p2
对于生成二维及更高维的数组,应使用多维指针。
以二维指针为例
int **p=new int* [row]; //row是二维数组的行,p是指向一个指针数组的指针
for(int i=0; i<row; i++)
p[i]=new int [col]; //col是二维数组的列,p是指向一个int数组的指针
删除这个二维数组
for(int i = 0; i < row;i++)
delete []p[i]; //先删除二维数组的列
delete []p;
⑵使用完动态无名变量后应该及时释放,要用到 delete 运算符
delete p; //释放单个变量
delete [ ] p;//释放数组变量(不论数组是几维)
相比于一般的变量声明,使用new和delete 运算符可方便的使用变量。 

goto可以跳转到代码的任意行,举个栗子:

如果你做了一个多重循环,执行到中间就不想执行了,用一个break可是不行的偶,那怎么办哪?要在每一个循环里都打一个break,其实不需要那么麻烦,只需要用一个goto就可以了,如下:

for(...)

    for(...)

        for(...)

            语句

               goto out;

out:

需要注意的是,goto需要一个书签,一般用out表示,这样goto就可以直接跳到out的那一行了。

但是在c++里不建议用goto,因为,如果你的书签打错了(out打错行了),那样你的整个程序就错了,也不好找。

纯属手打, 如果我说的有错,请在评论区里指出,谢谢

2
李颂宥
李颂宥
初级光能
初级光能

对不起,酷町堂里有bug,说我验证码错误,导致我发了好几次。

2
赵逸凡
赵逸凡
初级启示者
初级启示者

goto顾名思义就是 去 的意思,然后去哪呢,就摆脱循环的控制,goto 某地,无论哪个地方在天涯海角,自然而然便过五关斩六将冲破循环啦

new就是指针数组向dev-c++大人上交一份申请书,书上说到,想要一个动态小变量,给result编译器法官审阅有没有定义变量后就通过啦

望采纳thank you

1
李颂宥
李颂宥
初级光能
初级光能

new 是申请动态存储空间 

⑴new可用来生成动态无名变量,
如 int *p=new int;
int *p=new int [10]; //动态数组的大小可以是变量或常量;而一般直接声明数组时,数组大小必须是常量
又如:
int *p1;
double *p2;
p1=new int(12);
p2 = new double[100]
l 分别表示动态分配了用于存放整型数据的内存空间,将初值12写入该内存空间,并将首地址值返回指针p1;
l 动态分配了具有100个双精度实型数组元素的数组,同时将各存储区的首地址指针返回给指针变量p2
对于生成二维及更高维的数组,应使用多维指针。
以二维指针为例
int **p=new int* [row]; //row是二维数组的行,p是指向一个指针数组的指针
for(int i=0; i<row; i++)
p[i]=new int [col]; //col是二维数组的列,p是指向一个int数组的指针
删除这个二维数组
for(int i = 0; i < row;i++)
delete []p[i]; //先删除二维数组的列
delete []p;
⑵使用完动态无名变量后应该及时释放,要用到 delete 运算符
delete p; //释放单个变量
delete [ ] p;//释放数组变量(不论数组是几维)
相比于一般的变量声明,使用new和delete 运算符可方便的使用变量。 

goto可以跳转到代码的任意行,举个栗子:

如果你做了一个多重循环,执行到中间就不想执行了,用一个break可是不行的偶,那怎么办哪?要在每一个循环里都打一个break,其实不需要那么麻烦,只需要用一个goto就可以了,如下:

for(...)

    for(...)

        for(...)

            语句

               goto out;

out:

需要注意的是,goto需要一个书签,一般用out表示,这样goto就可以直接跳到out的那一行了。

但是在c++里不建议用goto,因为,如果你的书签打错了(out打错行了),那样你的整个程序就错了,也不好找。

纯属手打, 如果我说的有错,请在评论区里指出,谢谢

1
1
丁振轩
丁振轩
资深光能
资深光能

new 可以申请动态存储空间 ,

goto 可以退出多层循环。

0
曹砚青
曹砚青
中级光能
中级光能

goto可以跳转到代码的任意行,举个栗子:

如果你做了一个多重循环,执行到中间就不想执行了,用一个break可是不行的偶,那怎么办哪?要在每一个循环里都打一个break,其实不需要那么麻烦,只需要用一个goto就可以了,如下:

for(...)

    for(...)

        for(...)

            语句

               goto out;

out:

需要注意的是,goto需要一个书签,一般用out表示,这样goto就可以直接跳到out的那一行了。

0
我要回答