先看一道小题目
已知有如下程序:
void main()
{
int a[5] = {1,2,3,4,5},*b;
b =(int*)malloc(sizeof(int));
;
printf("%d\n",*b);
}
要使程序输出为a[2]的值,则下列有关函数fun的定义和下划线处对应的fun调用语句正确的有( )。
A、void fun(int*s,int*d)
{*d = *(s+2);}
调用: fun(a,&b)
B、void fun(int*s,int&d)
{d =*(s+2);}
调用: fun(a,b)
C、void fun(int*s,int &d)
{d = *(s+2);}
调用: fun(a,*b)
D、void fun(int*s,int **d)
{**d = *(s+2);}
调用: fun(a,&b)
正确答案:CD
普通变量、一维指针、二维指针的内存印象