为您找到"
*P=&a[0] 和P=&a[0]有什么区别
"相关结果约100,000,000个
你的分析很正确,但也很错误。int 的大小取决于编译器,比如在纯C语言编译器TC2.0中,int 只占2个字节,但在VC&C-free这种C&C++编译器中,int 是占4个字节的。除了这些,你的理解还是很好的!再来分析你的程序问题——for(p=a;p<(a+10);p++)这一行就是不理解a+10,为什么不加20,假如...
比如 int a = 5; int b = a;a,b都是用户定义的变量,可以随便赋值。5是字面值常量。 你可以对a,b求地址 比如 int* p = &a;但是你不能对5求地址。 比如int *p = &5;另外 C++ primer里面提到 前缀++返回左值,后缀返回右值。也可以通过左值与右值的概念来理解++操作法。比如 ++a = ...
int a[10];int *p=a; //与前面定义的数组名a类型相同,才可以这样赋值。int a;int *p=&a; //前面定义的a是普通变量,才可以这样赋值。
P=a中的a如果是一个数组的话,a是一个首地址, p=&a[0] 同样是数组a的首地址。 也就是说a与&a[0]的地址是相同的,
26amp; 是 HTML语言中经过转义的 & 符号
若有定义inta=int*p=&a;则*p的值是()A.变量p的地址 B.变量a的值 C.变量a的地址值 D.无意义 正确答案:B
&a表示的是&a[0],那&a的值当然和a的值一样了!为了有据可依,可运行下面的程序:include void main(){ char a[10]= {0};char p = a;char q = (char*)&a;q = 1;printf("a:d\n",a);printf("&a:d\n",&a);printf("*p:d\n",p);printf("*q:d\n",q);printf("a[...
a是一个函数指针,它可以指向一个函数,例如:int fun(int a, int b);a = fun;a(x, y); //相当于调用了fun(x, y);
如图。BCD选项都是地址。&是取地址符号,&x就是x变量的地址。*是取出地址里的值。所以*&x就是x的值 取地址运算符& 格式:&变量名 含义:取出存放变量的地址 间接运算符 格式:*指针名/地址名 含义:取出存储在地址中的对应值