c语言 给取地址常量 赋值,C语言15 取地址符号&的使用

C语言15 取地址符号&的使用

&符号是取地址符,任何变量都可以使用&来获取地址,但不能用在常量上

struct Point

{

int x;

int y;

};

char a;

short b;

int c;

Point p;

printf("%p %p %p %p \n",&a,&b,&c,&p);

printf("%x %x %x %x \n",&a,&b,&c,&p);

printf("%x \n",&10);

16: char a;

17: short b;

18: int c;

19: Point p;

20:

21: printf("%p %p %p %p \n",&a,&b,&c,&p);

0040D408 lea eax,[ebp-14h]

0040D40B push eax

0040D40C lea ecx,[ebp-0Ch]

0040D40F push ecx

0040D410 lea edx,[ebp-8]

0040D413 push edx

0040D414 lea eax,[ebp-4]

0040D417 push eax

0040D418 push offset string "%p %p %p %p \n" (00422e90)

0040D41D call printf (0040d6c0)

0040D422 add esp,14h

22: printf("%x %x %x %x \n",&a,&b,&c,&p);

0040D425 lea ecx,[ebp-14h]

0040D428 push ecx

0040D429 lea edx,[ebp-0Ch]

0040D42C push edx

0040D42D lea eax,[ebp-8]

0040D430 push eax

0040D431 lea ecx,[ebp-4]

0040D434 push ecx

0040D435 push offset string "%x %x %x %x \n" (00422e80)

0040D43A call printf (0040d6c0)

0040D43F add esp,14h

探测 & 变量的类型

char a;

short* b;

int** c;

int x = &a;

int x = &b;

int x = &c;

以上代码全都无法编译成功

说明 使用了 &符号后 将会生成 &符号后类型的指针(加一个*)

指针变量赋值

char x;

char* p1;

char** p2;

char*** p3;

char**** p4;

p1=&x;

p2=&p1;

p3=&p2;

p4=&p3;

p1 = (char*)p4;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值