计算机指针的概念及应用案例

发布时间:2022-06-09编辑:zhushican阅读(302)

指针C语言中广泛使用的一种数据类型。运用指针编程是C语言最主要的风格之一。利用指针变量以表示各种数据结构;能很方便地使用数组和字符串;并能象汇编语言一样处理内存地址,从而编出精练而高效的程序

计算机指针的概念及应用案例

1、下面代码错在哪里?

main()

{ char *p;

  *p=23;

  printf("%d",*p);

}


【分析】

在使用指针变量时,一定要注意先赋值再使用。代码中,定义指针变量p后,并未赋值(应该赋值为一个char类型的数据地址)。而*p=23表示将23存储到p所指向的地址中,p并没有赋值。

那么,这样为p赋值:p=1230;也是错误的!

p所指向的地址必须是C分配的。下面的代码则是可行的:

char a,*p=&a;


变量a声明后会自动分配内存。将指针p指向其地址是可以的。

char a;int *p=&a;


2、执行以下代码,为什么输出a的值是535?

main()

{ long a=756;char *p=(char *)&a;

  *p=23;

  printf("%d,%d",*p,a);

}

计算机指针的概念及应用案例

【分析】

变量a占用4个字节,这4个字节存储的值分别为244、2、0、0。因为244+2*256=756。而p指向a的首地址(存储的数据是244)。经*p=23后,a的首地址的数据变为23。故a的值为23+2*256=535。

必要时,可利用这种方法读取long类型数据的每一字节的数据。





评论