已采纳回答 / onemoo
str 比 str2 高 0x40-0x38 = 8字节,str占用6个字节,可以容纳开。str3 比 str 高 0x50-0x40 = 16字节,str3占用10个字节,也可以容乃开。一般变量的地址起始要求是2或4的倍数,所以为了对齐,变量之间会有额外的空当。
2015-08-09
&a:返回变量a的内存地址
*a:用来保存变量a的内存地址
&和*运算符恰好相反。&运算符接收一个数据,然后告诉你这个数据保存在哪里;*运算符接收一个地址,然后告诉你这个地址中保存的是什么数据。
例:int *a = &a
*a:用来保存变量a的内存地址
&和*运算符恰好相反。&运算符接收一个数据,然后告诉你这个数据保存在哪里;*运算符接收一个地址,然后告诉你这个地址中保存的是什么数据。
例:int *a = &a
2015-07-31
#include <stdio.h>
int main()
{
int a;
a=3;
int *p=&a;
printf("%d\n",p);
scanf("%d",p);
printf("%d\n",p);
printf("%d\n",*p);
getch();
}
运行一下这个你就明白 了
int main()
{
int a;
a=3;
int *p=&a;
printf("%d\n",p);
scanf("%d",p);
printf("%d\n",p);
printf("%d\n",*p);
getch();
}
运行一下这个你就明白 了
2015-07-30
已采纳回答 / onemoo
这是函数指针声明。这是将pquadrate声明为函数指针,它指向的是有一个int型参数,返回值为int的函数。这语句同时将pquadrate初始化为quadrate的地址(显然quadrate应该是个函数名)。一步一步讲这个声明:这语句声明的是pquadrate变量,前面有个*,而且是用小括号和变量名括起来的(*pquadrate),表明这个变量名优先和*结合。声明变量时前面有*就代表这个变量是指针,所以pquadrate是个指针。那它指向什么呢?接着看,后面有小括号,前面有类型,表明是个函数。参数就是i...
2015-07-28