欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

对指针作用的理解

程序员文章站 2024-03-07 15:50:15
...

定义变量

int a;   //定义一个整型变量a
int *p;  //定义了一个整型指针变量p
  1. 指针有什么用?
    存储一个地址。
p = &a;  //整型指针p获取了整型变量a的地址
  1. 指针p指向了整型变量a。
    作用:
    可以用指针p来操作变量a了。

例如:

{
	int a = 10;
	int *p;
	p = &a;
	printf("%d"*p); //输出指针p所指向的内存中的值,这里的*是#间接访问运算符#
}
>>> 10

动态存储方法

malloc(4);
malloc(sizeof(int));
int *p;
p = (int *)malloc(sizeof(int));  //malloc函数返回类型是void *,所以要强制转换  
*p = 10;                         //向指针p所指向的内存空间中存入10
printf("%d", *p);                //输出指针p所指向的内存中的值
>>> 10
  1. 指针就是用来存储内存地址的,为什么要分不同类型的指针呢?
    因为指针变量存储的是一个内存空间的首地址(第一个字节的地址),但是这个空间占用了多少个字节,用来存储什么类型的数,则是由指针的类型来标明的。这样系统才知道应该取多少个连续内存作为一个数据。

  2. why malloc?
    之前的方法,必须预先准确知道所需变量的个数,也就是说我们必须定义出所有的变量。比如我们定义了100个整型变量,那么程序只能存储100个整数。而malloc函数使我们可以在程序运行的过程中根据实际情况来申请空间。

若有错误请帮忙指正呀,谢谢~

相关标签: 指针 malloc