已采納回答 / 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