题目内容

设有以下函数 void fun(int n,char *s) {......}。则下面对函数指针的定义和赋值均是正确的是?

A. void (*pf) ( int,char);pf=&fun;
B. void (*pf)(int,char*);pf=fun;
C. void *pf();*pf=fun;
D. void *pf();pf=fun;

查看答案
更多问题

于C++的动态存储分配,下列说法正确的是?

A. new和delete是C++语言中专门用于动态内存分配和释放的函数
B. 动态分配的内存空间也可以被初始化
C. 当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间
D. 当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new

为了动态声明一个内容为”string”的字符串,下列语句中正确的是( )

A. char str=new char[10]; strcpy(str,"string");
B. char *str=new char[10]; strcpy(str,"string");
C. char *str=new char(string);
D. char str[10]=”string”;

观察程序#include <iostream>using namespace std;int main(){int *first,*second;first=new int[5];second=first;delete [] second;delete [] first;return 0;}该程序是否正确,原因是什么?

A. 正确,因为first和second都是独立的指针变量
B. 不正确,因为first和second是相关而非独立的指针变量
C. 正确,second会拷贝first的内容
D. 不正确,second和first指向相同的内容

函数F定义如下:void F() {char str[7] = { 'p', 'r', 'o', 'g', 'r', 'a', 'm'};std::cout << str << std::endl;}调用F()时,将会出现:

A. 编译错误
B. 输出program并换行
C. 输出program以及任意长度的随机字符后换行

D. 输出program

答案查题题库