龙空技术网

嵌入式开发-C语言-指针(一)重要重要

知识就是力量365 65

前言:

现在兄弟们对“c语言指针变量赋值”大体比较关怀,看官们都需要剖析一些“c语言指针变量赋值”的相关文章。那么小编在网摘上网罗了一些有关“c语言指针变量赋值””的相关内容,希望朋友们能喜欢,小伙伴们一起来学习一下吧!

1、掌握指针的基本用法

指针(Pointer):在C语言中,内存单元的地址称为指针,专门用来存放地址的变量,称为指针变量

指针的作用

**C程序设计中使用指针**-使程序简洁、紧凑、高效-有效地表示复杂的数据结构-动态分配内存-得到多于一个的函数返回

地址和变量

地址:在计算机内存中,每一个字节单元,都有一个编号,称为地址。内存以字节为单位,开始编号,1Byte(字节) = 8Bit(位)变量:变量是对程序中数据存储空间的抽象

指针变量的说明

一般形式如下:<存储类型> <数据类型> * <指针变量名>;例如:auto char *pName;指针的存储类型是指针变量本身的存储类型。指针说明时指定的数据类型不是指针本身的数据类型,而是指针目标的数据类型,简称为指针的类据类型指针在声明的同时,也可以被赋初值,称指针的初始化。一般形式:<存储类型> <数据类型> * <指针变量名> = <地址量>例:int a ,*pa=&a;在上面语句中,把变量a的地址作为初值赋给了int 类型指针paint a= 3;int *pa =&a;#include <stdio.h>int main(){    int a= 10;    int *p;    p =&a;    printf("%p %d %p %p\n",p,*p, &p,&a);    return 0;}输出:0x7ffdb19c306c 10 0x7ffdb19c3070 0x7ffdb19c306cint a :是变量int *p:是指针&a:获取a在内存中的地址&p:获取指针p在内存中的地址*p:取出具体内容,指针指向的内存区域中的数据称为指针的目标如果它指赂的载域是程序中的一个变量的内存空间,刚这个变量称为指针的目标变量,简称为指针的目标。引入指针要注意程序中的px、*px、&px三种表示方法的不同意义。设px为一个指针,则:px: 指针变量,它的内容是地址量(别人的地址)*px:指针指向的对象,它的内容是数据(别人地址的内容)&px:指针变量占用的存储区域地址,是个常量(自己的地址)- 指针的赋值运算指的是通过赋值运算符向指针变量送一个地址注:向一个指针变量赋值时,送的值必须是地址常量或指针变量,不能是普通的整数(除赋零以外)指针赋值运算常见的有以下几种形式:一、把一个普通变量的地址赋给一个具有相同数据类型的指针:double x =15, *px;  px=&x;二、把一个已有地址值的指针变量赋给具有相同类型的别一个指针变量float a,*px,*py;px =&a;py=px;三、把一个数组的地址赋给具有相同数据类型的指针,例int a[20], *px;pa =a; //等价  pa= &a[0]
思考
-什么叫指针?-指针占几个字节?

标签: #c语言指针变量赋值