第1题:
A.int(*a)[4];
B.int*a[4];
C.指针数组每个元素都是指针变量
D.若inta[4][4];int*b[]={a[0],a[1],a[2],a[3]};则b是指针数组
E.指针数组与指向数组的指针是等价的
第2题:
关于Java中的指针,下列说法正确的是______。
A.Java摒弃了指针
B.Java摒弃了指针和数组
C.新版本Java中会有指针
D.Java保留了指针
第3题:
A.指向double型变量的指针
B.指向double型的函数指针
C.指向double型的一维数组的指针
D.具有N个指针元素的一维指针数组
第4题:
若有int *x[3]:则以下表述正确的是 ______。
A.x是一个指向具有3个元素的整型数组的指针
B.x是一个指向int型变量的指针
C.x是一个有3个元素的指针数组,每个元素是一个int型指针
D.x是一个数组,该数组的元素是指针x所指向的变量
第5题:
简述数组与指针的区别?
数组要么在静态存储区被创建(如全局数组),要
么在栈上被创建。指针可以随时指向任意类型的内
存块。
(1)修改内容上的差别
char a[] = “hello”;
a[0] = ‘X’;
char *p = “world”; // 注意p 指向常量字符串
p[0] = ‘X’; // 编译器不能发现该错误,运行时错
误
(2) 用运算符sizeof 可以计算出数组的容量(字节
数)。sizeof(p),p 为指针得到的是一个指针变量的字
节数,而不是p 所指的内存容量。C++/C 语言没
有办法知道指针所指的内存容量,除非在申请内存
时记住它。注意当数组作为函数的参数进行传递
时,该数组自动退化为同类型的指针。
char a[] = "hello world";
char *p = a;
cout<< sizeof(a) << endl; // 12 字节
cout<< sizeof(p) << endl; // 4 字节
计算数组和指针的内存容量
void Func(char a[100])
{
cout<< sizeof(a) << endl; // 4 字节而不是100 字节
}
第6题:
下列说法正确的是
A)int(**def)[10];----def指向一个指针,该指针指向10个整型变量构成的数组
B)int*(*gh[10]);---gh指向一个指针,该指针指向10个整型变量构成的数组
C)int*(*gh[10]);---gh是一个指针,指向由10个指向整型变量的指针构成的数组
D)A,C均正确
第7题:
下列说法正确的是
A.int(**def)[10];----def指向一个指针,该指针指向10个整型变量构成的数组
B.int*(*gh[10]);---gh指向一个指针,该指针指向10个整型变量构成的数组
C.int*(*gh[10]);---gh是一个指针,指向由10个指向整型变量的指针构成的数组
D.A,C均正确
第8题:
以下关于指针数组的描述正确的是()
A.指针数组的每个元素是一个指针
B.指针数组的每个元素可以指向相同类型的数据
C.指针数组的每个元素存放了一个地址
D.指针数组的每个元素可以指向不同类型的数据
第9题:
下列说法不正确的足( )。
A.int*ptr;//指针指向整形数据
B.char*ptr;//指针的类型是字符型指针
C.int**ptr;//指针的类型是双重指针
D.int(*ptr)[3];//是一一个指针数组,数组共有三个元素,而三个元素是int型指针
第10题:
指针数组是由__________构成的数组。