有点疑惑的地方

#include <stdio.h>
#include <stdlib.h>

#include "point_memory.h"

void lookup_point(void)
{
 int a;
 int b;
 int *a_point;
 int *b_point;
 char *sa;
 char *sb;
    a = b;
 //b=99;
 //b_point = (int*)malloc(sizeof(int));//程序运行时,在堆上开辟一个空间,并把这个空间的地址附给b_point变量。

 a_point = &b;//程序在编译阶段,把变量b的地址附给a_point变量。

 b_point = a_point;//把变量a_point的值即所指向的地址附给变量b_point;
 //a_point = b_point;//把变量b_point的值即所指向的地址附给变量a_point;
 *a_point = 10;//操纵变量a_point所指向的地址所存储的值,在这条语句之前一定先要确定变量a_point已经有值,也就是要有指向的地址,否则会抱段错误(linux);
 //printf("a=%d/n",a);
 printf("a=%d/t&a=%x/t&b=%x/tb=%d/n",a,&a,&b,b);
 printf("*a_point=%d/ta_point=%x/t&a_point=%x/n",*a_point,a_point,&a_point);
    printf("*b_point=%d/tb_point=%x/t&b_point=%x/n",*b_point,b_point,&b_point);
 *a_point = 12;
 b=13;
 printf("*a_point=%d/ta_point=%x/t&a_point=%x/n",*a_point,a_point,&a_point);
    printf("*b_point=%d/tb_point=%x/t&b_point=%x/n",*b_point,b_point,&b_point);
    //printf("b=%d/t&a=%x/t&b=%x/n",b,&a,&b);
 sb="99";
 /*这句相当于把字符串"99"的首地址传给字符变量sb,而字符串"99"的首地址在编译的时候就由内存分配了。这样sb的值就为"99"的首地址。
    不过不要期望*sb来操纵变量所指的地址所存储的值,因为""中的字符串,系统中自动把他当作常量看待,任何方式修改99的值就会报错 */
         
 b_point = (int*)malloc(sizeof(int));
 sa =(char *)0x872e48; ;//(char*)malloc(20);
    *sa = "ssss";
   
 printf("___________sb=%s/tsb(the point direct adrress)=%x/t&/"99/"=%x/n",sb,sb,"99");
 printf("___________sa=%s/nsa(the point direct adrress)=%x/t&/"ssss/"=%x/n",sa,sa,"ssss");
 //printf("a=%d/t&a=%x/t&b=%x/n",a,&a,&b);
 //printf("*a_point=%d/ta_point=%x/t&a_point=%x/n",*a_point,a_point,&a_point);
 //   printf("*b_point=%d/tb_point=%x/t&b_point=%x/n",*a_point,b_point,&b_point);
 //*a_point = 12;
 //b=13;
 //printf("*a_point=%d/ta_point=%x/t&a_point=%x/n",*a_point,a_point,&a_point);
 //   printf("*b_point=%d/tb_point=%x/t&b_point=%x/n",*a_point,b_point,&b_point);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值