指针 &取地址标志
时间:2014-04-27 21:13:23
收藏:0
阅读:551
char *
a1;
short *
b1;
int *
c1;
long *
d1;
只要带有*号,都占4个字节,不管*号多少个都是一样。
要查看一个变量的所占的类型,就把变量名去掉,就是它所占的类型。
如:int
a[10] 把a 去掉,就成 int [10]
char * a1 把a1去掉,就是 char * 类型了
#include "stdafx.h"
struct
age
{
char
d;
short
f;
int g;
};
//此处三个加起来是占8个字节
int main(int
argc, char*
argv[])
{
age
aa;
printf("Hello World!\n");
return 0;
}
#include "stdafx.h"
int main(int argc, char* argv[])
{
char
d;
short
f;
int g;
此处三个加起来是占12个字节
printf("Hello
World!\n");
return 0;
}
原来里面还包含这个信息,一定要注意!
结构体是把不同的类型放在一起,并填充完空间,而在MAIN函数是给每一个类型指定了4个字节。这个一定要记住。
取地址
a1=&a;// &取地址
相当于lea
指令 lea eax,dword ptr[a]
char
a;
short
b;
int c;
char
f;
char
***
a1; // 三个*类型
把变量名去掉,就是他的类型,
short **
b1;
int **
c1;
long * d1;
a=1;
b=2;
c=3;
a1=&c;//&取地址;
f=*a1;//此处的*a1是什么类型呢?是char*类型
000
#include "stdafx.h"
int
main(int argc, char*
argv[])
{
char
a;
short
b;
int c;
char
f;
char
***
a1; // 三个*类型
把变量名去掉,就是他的类型,
short **
b1;
int **
c1;
long * d1;
a=1;
b=2;
c=3;
a1=&c;//&取地址;
f=*a1;//此处的*a1是什么类型呢?是char*类型
a1++; //是加1
b1++;
//加2
c1++;
//加4
d1++;
//加4
return
0;
}
评论(0)