#include <iostream>
using namespace std;
int main()
{
int a[4]={100,101,102,103};
cout<<&a<<endl;
cout<<&a[0]<<endl;
cout<<a<<endl;
cout<<a[0]<<endl;
system("pause");
return 0;
}
输出的结果是
0x22ff60
0x22ff60
0x22ff60
100
1.a和a[0]的地址一样
值为什么会不一样?
2.为什么a和&a是同一个值?自己指向自己?
[问答题] 简述C语言中数组和指针的异同点。
[单选题]C数组名称是指针变量吗?看这段程序,可是执行。#include <stdio.h>int main(int argc, char *argv[]){struct info{char name[33];int age;};struct info aa[3]={"meng",20,"juan",29,"an",59};struct info *p=aa;for(int i=0;i<3;i++,p++) printf("%-6s %d/n",p->n
[主观题]指针数组是由__________构成的数组。
[试题]简述数组与指针的区别?
[主观题]C./C++语言中,存在缓冲区、数组及指针进行边界检查的机制。()
就是指针是指向数组的 比如说int (*p)[4];这就是数组指针,指针是指向含有4个整形元素的数组,这里面得p是指针变量,并不是指针常量(数组名),这个要和 int *p[4]区分开来(这里的p才是才是数组名,这叫指针数组,数组里的每个元素都是指针变量,都是指向整形元素的),而int (*p)[4];中的p是指针变量!他可以通过++,--运算来变换的,int *p[4]中的p相当于数组名,等于是指针常量是不能通过++、--运算的! 数组指针是指向数组首元素的地址的指针,其本质为指针; 指针
[主观题]C./C++语言中,存在对缓冲区、数组及指针进行辩解检查的机制,因此用C语言编写的程序一般不会发生缓存区溢出的事件。()
[单选题]用数组A[0,N-1]存放循环队列的元素值,若其头指针和尾指针分别为front和rear,则循环队列中当前元素的个数为A.(rear-front+N+1)mod NB.(rear-front+1)mod NC.(rear-front-1+N)mod ND.(rear-front)mod N
[单选题]C.语言数组Data[m+1]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为( )A.front=front+1B.front=(front+1)%mC.rear=(rear+1)%mD.front=(front+1)%(m+1)
[问答题] C语言中指针和指针变量有什么区别?