下面小段程序,哪个是正确的:()
A: char * p = new char[10];p[0] = 'K'; delete [] p;
B: int *p = new int[25]; p[10] = 100; delete p
C: char * p = new int; p = 'a'; delete p;
D: int * p = new char[20];p = 'a'; delete p;
A: char * p = new char[10];p[0] = 'K'; delete [] p;
B: int *p = new int[25]; p[10] = 100; delete p
C: char * p = new int; p = 'a'; delete p;
D: int * p = new char[20];p = 'a'; delete p;
A
举一反三
- 以下关于数组动态分配与释放内存的正确代码是 A: int p[100] = new int[100] 和 delete p B: int *p = new int(100) 和 delete p C: int *p = new int[100] 和 delete []p D: int *p = new int(100) 和 delete []p
- char* p = new char(32);释放内存的语句是: A: delete &p; B: delete *p; C: delete [] p; D: delete <char> p;
- char* p = new char(32);释放内存的语句是: A: delete [] p; B: free(p) C: delete p; D: delete <char> p;
- char* p = new char(32);释放内存的语句是: A: delete [] p; B: free(p) C: delete p; D: delete <char> p;
- 如果函数声明形式为 void fun( char* a, int n, int&m );以下函数正确的调用的为( ) A: char str[10]; int *p, m; fun( str, m, p ); B: char *p = new char[10]; int n, m; fun( p, m, &n ); C: char *p = new char[10]; int n, m; fun( p, m, n ); D: char *p = new char[10]; fun( p, 5, 6 );
内容
- 0
char* p = new char[65];对应的释放内存的语句是: A: free p; B: delete *p; C: delete [] p; D: delete p[];
- 1
下列语句中错误的是()。 A: int *p=new int(10); B: int *p=new int[10]; C: int *p=new int; D: int *p=new int[40](10);
- 2
下面的new用法正确的是【 】。 A: int *p = new int(5); B: int[] p = new int(5); C: int p[] = new int(5); D: int p = new int(5);
- 3
下列程序段没有错误的是( )。 A: int*p;cin>>*p; B: int*s,k;*s=100 C: int *s ,k; char *p ,c; s=&k; p=&c; *p='a'; *s=1; D: int *s,k; char *p,c; s=&k; p=&c; s=p;
- 4
动态分配包含20个元素的int型数组,下列语句中正确的是( )。 A: int *p = new int[20]; B: int *p = new int(20); C: int *p = new [20]; D: int p = new int[20];