指针
指针是一种特殊的数据类型,不同于Int、double、float等常用数据类型,它存储的是数据的地址。C/C++程序员特别重视对指针的学习,因为指针能够通过地址直接操作内存,提高数据操作效率;但同时指针也是一颗危险的“定时炸弹”,如果不能正确操作指针会造成程序未定义行为,导致不知所“错”,产生巨大的维护成本。
-
下面关于指针的说法中错误的是()。
-
类中的一个字符指针成员指向具有m个字节的存储空间时,它所能存储的字符串的最大长度为()。
-
下列程序的输出结果是()。 #include<iostream.h> void main() { int n[][3]={10,20,30,40,50,60}; int (*p)[3]; p=n; cout<<p[0][0]<<","<<*(*p+0)+1<<","<<*(p[2])<<endl; }
-
有定义 int b[10]={1,2,3,4,5,6,7,8,9,10},*q=b; ,数值为8的表达式是()。
-
有定义及初始化 int a=3,*p=&a; ,*p的值是()。
-
给出下面程序输出结果是()。#include<iostream.h> void main() { int *p1; int **p2=&p1; int b=20; p1=&b; cout<<**p2<<endl; }
-
有如下程序段,输出结果是()。#include<iostream> using namespace std; int main() { char*p="abcdefgh",*r; r=p; cout<<*r<<endl; return 0; }
-
有如下程序段,产生编译错误的语句是()。int i=0,j=1; int &r=i; //① r=j; //② int *p=&i; //③ *p=&r; //④
-
字符指针p指向"abcdefg",执行 char*ap=new char[strlen(p)+1]; 后,ap指向的字符数组元素个数为()。
-
有语句序列 int x=100,&r=x;cout<<x<<"-"<<r<<endl; (x地址为0012FF7C),输出结果为()。
-
下列定义语句中,错误的是()。
-
下列语句中,正确的是()。
-
有定义 int a[5]={1,3,5,7,9},*p=a; ,不能得到数值5的表达式是()。
-
语句 int *p=&k; ,与其等效的语句序列是()。
-
有说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; ,数值为9的表达式是()。
-
下列语句中,错误的是()。
-
有如下程序,编译运行程序将出现的情况是()。#include<iostream> using namespace std; int main() { int *p; *p =9; cout<<"The value at p:"<<*p; return 0; }
-
下列有关一维数组a的定义中,语法正确的是()。
-
字符串"a+b=12\n\t"的长度为()。
-
有语句序列 char str[10]; cin>>str; ,输入"I love this game"时,str中的字符串是()。