一.指针是一个值为内存地址的变量(或数据对象)
地址形象化地称为指针,通过它能找到以它为地址的内存单元。
指针变量就是地址变量,用来存放地址,指针变量的值是地址(即指针)
二.指针变量
1.使用指针变量
例:通过指针变量访问整型变量。
#include<stdio.h>
int
main()
{
int a=100,b=10; //定义整型变量a,b,并初始化
int *pointer_1,*pointer_2; //定义指向整型数据的指针变pointer_1,pointer_2
pointer_1=&a;//把a的地址赋给指针变量pointer_1
pointer_2=&b;//把b的地址赋给指针变量pointer_2
printf(\"a=%d,b=%d\\n\",a,b);//输出变量a,b的值
printf(\"*pointer_1=%d,pointer_2=%d\\n\",*pointer_1,*pointer_2);//输出变量a,b的值
return 0;
}
注:1.“*”表示指向;
2.*pointer_1表示“指针变量pointer_1所指向的变量”,也就是变量a;
3.程序第五行的pointer_1和pointer_2表示定义两个指针变量,““表示该变量是指针变量;程序最后一行printf函数中的pointer_1,*pointer_2代表指针变量pointer_1和pointer_2所指向的变量。
2.定义指针变量
如:int *pointer_1,*pointer_2; //类型名 * 指针变量名
定义指针变量时必须指定“基类型“,指针变量的基类型用来指定此指针变量可以指向的变量的类型;
在定义的同时对其初始化
如:int *p=&a;//定义指针p,并指向a
指针变量中只能存放地址,不要将一个整数赋给指针一个指针变量
如:*p=100;//不合法
3.引用指针变量
(1)给指针变量赋值
如:p=&a; //把a的地址赋给指针变量p
(2)引用指针变量指向的变量
如果已执行(1),即指针变量p指向了整型变量a
printf(“%d”,*p);
//以整数形式输出指针变量p所指向的变量的值,即变量a的值
(3)引用指针变量的值
如:printf(“%o”,p);
4.指针变量作为函数参数
函数的参数不仅可以是整型,浮点型,字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。
例:对输入的数按大小顺序输出
#include <stdio.h>
int main()
{
void swap(int * p1,int * p2);
int a,b;
int * pointer_1,* pointer_2;
printf(\"please enter two integernumbers:\");
scanf(\"%d,%d\",&a,&b);
pointer_1=&a;
pointer_2=&b;
if(a<b)
swap(pointer_1,pointer_2);
printf(\"max=%d,min=%d\\n\",a,b);
return 0;
}
void swap(int *p1,int * p2)
{
int temp;
temp=* p1;
* p1=* p2;
* p2=temp;
}
继续阅读与本文标签相同的文章
上一篇 :
创新驱动修炼“内功” 美菱助推安徽高质量发展
下一篇 :
数据结构习题及解析三
-
【Java类初始化死锁】记一次Cassandra死锁问题排查
2026-05-18栏目: 教程
-
搭建自己的技术博客系列(一)使用 hexo 搭建一个精美的静态博客
2026-05-18栏目: 教程
-
搭建自己的技术博客系列(二)把 Hexo 博客部署到 GitHub 上
2026-05-18栏目: 教程
-
CMU 15-721 14-数据库调度 Scheduling
2026-05-18栏目: 教程
-
从校招生到核心架构师,支付宝研究员李俊奎谈如何成为一名优秀的程序员
2026-05-18栏目: 教程
