本人小白一枚,请多指教。
1、什么是指针?
说到指针就不得不说内存,内存是电脑用于储存的,内存为了更好储存和使用便分为了许多单元,每个单元便是一个字节。为了方便管理需要为每个单元编号。编号便是内存单元地址
指针就是内存编号,也可以说就是地址。
实际上,这更像生活中的楼房(内存),每栋楼都有楼层住户门牌号(单元编号)。指针便是为了提供一个导向,指明每个住户在这栋楼里的具体地址。方便查找和管理。
2、关于指针
在使用指针时,需要注意指针初始化,这时我们可以发现指针指向变量的类型为int,进行取址时(‘&’取址符)需要注意取址类型相同(int*);(取址类型定义 “类型 *”)。这里需要注意的是地址并不是固定不变的,每次运行都会有所改变。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a = 10;
printf("%d\n", a);
int* pa = &a;//取地址
printf("%p\n", pa);//打印地址
return 0;
}
这里需要注意的是地址并不是固定不变的,每次运行都会有所改变。并且指针类型所占大小在不同系统下大小也会有所不同。在32位机器中为4字节,64位机器中为8字节。
在这里也许会有想改变初值的时候,这时只需要解引用操作 * 。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a = 10;
int* pa = &a;
*pa = 50;//解引用操作,赋值
printf("%d\n", a);
return 0;
}
以上便是我个人对于指针的个人见解,实力原因十分肤浅。也可以小白共勉。欢迎讨论