C语言 指针概念(一)

小咪咪 2021-08-29 19:26 535阅读 0赞

指针的作用

1.使程序简洁、紧凑、高效
2.有效地表示复杂地数据结构
3.动态分配内存
3.得到多一个的函数返回值

指针的概念

1.变量与指针

根据程序编译器的不同,int定义的字节数不同。(数据占用内存存储器的大小不同)常用的单片机编译器,如KEIL下,51类单片机的C语言中,int代表2个字节(16位)
在vc里面:int 4个字节,,char 1个字节,,float 4个字节
在tc里面:int 2个字节,其他都一样

在这里插入图片描述

内存中每个字节有一个编号——地址
程序中:int i; float k; 编译或函数调用时为其分配内存单元

2.指针与指针变量

指针:一个变量的地址
指针变量:专门存放变量地址的变量

3.&与*运算符

&:取址运算符,取变量的地址。&i,i是一个变量,取变量i的地址
单目运算符,优先级2,结合性:自右向左

*:取值运算符,取指针所指向变量的内容。*i,i是一个指针,取指针i所指向的内容
单目运算符,优先级2,结合性:自右向左

e_16,color_FFFFFF,t_70)
i_point——-指针变量,他的内容是地址量,是上图i的地址2000
*i_point——-指针的目标变量,他的内容是数据,是上图i的值100
&i_point——-指针变量所占用内存的地址 是上图的2100
在这里插入图片描述
i_point=&i=&(*i_point)
i=i_point=(&i)

4.直接访问与间接访问

直接访问:按变量地址存取变量值 k=i
间接访问:通过存放变量地址的变量去访问变量 k=*i_point

5.定义指针变量及初始化

int *p1,*p2;
int i=10;
int *p1=&i ; //变量i必须已说明过,类型应该一致,虽然没有报错,但是很危险,没有给指针变量p1赋值,位置随机
在这里插入图片描述

给p1赋值,这样p1就不会随机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,535人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C语言指针

    一、指针的定义、初始化及解引用 1、什么是指针? 在对程序进行编译时系统会给每个变量分配内存空间,在对一个变量进行操作时,会先对它的内存空间进行寻址,每一个变量都有它自

    相关 C语言指针学习笔记

    一、指针数组和数组指针的区别 指针数组:是一个数组,但是数组里保存的数据类型是指针; 数组指针:是一个指针,但是指针的类型是指向一个数组; int \array\[4\]