初步认识指针

一、运算符&

scanf(“%d,&i)

&能够获得变量的地址

二、指针变量

1.指针变量——保存地址的变量

int i;

int *p=&i;

表示p作为一个指针,保存了i地址。

2.*是单目运算符,用于访问指针的值所表示的地址上的变量, *p表示变量的值。

既可以做左值也可以做右值,e.g.int k=*p,

*p=k+1;

3.在函数中,可以通过指针访问或改变函数外面的变量:

#include<stdio.h> 
void f(int *p);
 void g(int k);
 int main() 
{
    int i=6;
    printf("%p\n",&i);//输出i的地址 
    f(&i);
    g(i); 
    return 0; 
}
 void f(int p)
{ 
    printf("%p\n",p);//输出指针p所指向的i的地址
    printf("%d\n",p);//输出指针p所指向的i的值 
    *p=16;//当改变了 *p的值后,该函数外的i的值也跟着改变,因为指针已经确定了地址 
} 
void g(int k) 
{ 
    printf("%d\n",k);//在f函数中将 *p的值改变了,相应的i的值也会改变。 
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值