C语言简单笔记之十一

   指针

一、指针变量的定义
*基类型 指针变量名
指针就是变量的地址。如果一个变量中存放的是指针,那么这个变量就叫指针变量
二、指针变量的引用
1).&运算符:称为取地址运算符
2).*运算符:称为指针运算符,或指向运算符,也称为“简介访问”运算符,例

int k,*kpointer;
kpointer=&k;/*将k的地址赋给指针变量kpointer,使kpointer指向k*/
k=5;
*kpointer=5;//*kpointer表示kpointer所指向的变量

“&”和“*”:两个算符优先级相同,运算顺序自右至左
&*a:先进行指向运算符的运算,它就是变量a,再执行&运算。因此其与&a相同,均为a的地址
*&a:先进行&a运算,即变量a的地址,再执行指向运算符。因此其为变量a
++,——与指向运算符优先级相同,运算顺序自右至左
3).指针变量的初始化
类型名 *指针变量名=初始地址值
例如

int a,b;
int *p1=&a,*p2=&b;/*在定义指针变量p1,p2的同时将它们的值分别初始化为变量a,b的地址*/

如使用未建立指向关系的指针变量的后果:需要修改的变量未被修改,不需要修改的内存单元中的内容却可能意外地被修改了。如

#include<stdio.h>
int main(void)
{  
int a=100,b=10;  
int *p1,*p2;  
p1=&a;  
*p1=50;
*p2=20;  
printf("%x,%x\n",p1,p2);  
printf("%d,%d\n",a,b);  
printf("%d,%d\n",*p1,*p2);  
return 0;
}
运行结果
fff4,fff6
50,10
50,20

使用指针时
1).清楚每个指针变量指向哪里
2).清楚每个指针指向的变量的内容
3).不使用未建立指向关系的指针变量
三、指针变量作函数参数
如果想通过函数调用得到多个要改变的值,比如m个,可先在主调函数中设m个变量,用m个指针变量指向它们,再用指针变量作实参,将这m个变量的地址传给形参,然后在调用函数中,通过形参指针变量改变这m个变量的值,主调函数中就可以使用这些改变了值的变量

以上内容来自清华大学出版社出版的教材:C语言程序设计

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值