博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c语言指针闲谈
阅读量:7118 次
发布时间:2019-06-28

本文共 533 字,大约阅读时间需要 1 分钟。

  hot3.png

在c语言中指针说白了就是地址,但和地址又有一定的区别,首先,地址是常量,指针是变量,其他的无区别。

定义一个指针并初始化他:

private int a;

private int * p;

p = &a;

我们来分析一下这三行代码:我们定义了一个变量p,它的类型是 int *,也就是一个int 类型的指针变量,然后  p = &a; 说明把变量a的地址给了变量p,那么这时候:

printf("%p",p),控制台打印出来的是变量a的地址(变量a的地址就是p的值),和printf("%p",&a)是一个意思

printf("%d",*p),控制台打印的是变量a的值(为什么:*p表示对应的地址对应的值)

比如:

int b;

scanf("%d",&b);

第二条语句中&b就表示b在内存中的地址。

再说一下指针和数组:

int a [5] = {};

int *p = &a;

我们都知道单个a表示a[0],那么a[1]用那种方式怎么表示呢:首先a[0] = *p,那么*(p + 1)就表示a[1]了,我们可以这样理解:*(p + 1)太麻烦了,于是有了[]这种形式的写法。

转载于:https://my.oschina.net/gef/blog/545976

你可能感兴趣的文章
POJ 1775 Sum of Factorials 数论,基础题
查看>>
VISTA硬盘图标
查看>>
CentOS5.6下安装、配置SVN详解--转载加原创
查看>>
SaltStack学习笔记(三)详解Grain
查看>>
windows XP下网络引导安装windows XP+dhcp+samba+tftp
查看>>
小型机和PCserver的区别
查看>>
nginx静态资源服务器简单配置
查看>>
centos7.0卸载系统默认版本,安装apache-2.4.10及其出现问题
查看>>
启动httpd报错
查看>>
修改U盘背景代码
查看>>
fio 使用总结
查看>>
service docker start 报错 :Failed to start docker.se
查看>>
Centos7 安装指定版本的 Docker
查看>>
谈成长,谈创新——QClub成都0615活动纪要
查看>>
Python统计列表中的重复项出现的次数(伪原创)
查看>>
NSInteger 与 NSUInteger 和 int与 NSInteger 区别(转)
查看>>
Hadoop WritableComparable接口
查看>>
第 九 天 : 复 习 中 ( 二 )
查看>>
开机自动开启vmware
查看>>
我的友情链接
查看>>