博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C 指针
阅读量:6968 次
发布时间:2019-06-27

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

C 指针


图示:

1000、1001 这些数字表示内存地址,A 表示一个字节的内存空间。

%E5%86%85%E5%AD%98.png
存储空间
char a = 'A';  printf("%d",&a); // -> 1000 | 变量 a 在内存中的地址(指针)printf("%c",a); // -> A  | 变量 a 的值

说明:

char a = 'A'; 申明了一个 char 型变量 a ,a 中是字符 'A' ,变量 a 放在地址(指针)为 1000 的内存空间。


一般指针:

char bb = 'B';char *b = &bb;printf("%c",*b); // -> Bprintf("%d",b); // -> 1001

说明:

char *b = 'B'; char 指定指针变量 b 中存储的地址(指针)指向一个或多个 char 型值。'B' 说明 b 中存储的指针指向的内存中存储了一个 char 型值。

总结: 变量都是容器,变量都放在对应地址的内存空间中,普通变量直接存储对应类型的 value,指针变量存储指向对应类型 value 的指针。


指针和数据结构:

struct WHPoint {    int x;    int y;};typedef struct WHPoint WHPoint;WHPoint p;p.x = 10;p.y = 10;WHPoint *point = &p;CGFloat x_ = (*point).x;CGFloat y_ = point->y;

说明:

在 Objective-C 中,一切对象皆数据结构。所以数据结构指针有了一个指针运算符 "->"。


函数指针:

// 常规写法 returnType (* Name) (params)  int max (int a , int b) { // 函数    return MAX(a, b);}// int (* tMax) (int a , int b) 申明一个名字为 tMax 的函数指针变量,将其作为另一个函数的参数int bMax (int c , int d , int (* tMax) (int a , int b)) {     return tMax(c, d);    // return (*tMax)(c, d);}typedef int (* tTMax) (int a , int b);int bBMax (int c , int d , tTMax tMax) {    return tMax(c, d);}

转载于:https://www.cnblogs.com/imock/p/6649200.html

你可能感兴趣的文章
MyBatis框架使用(一)
查看>>
Scala学习(八)练习
查看>>
集合内的简单排序
查看>>
设计模式(享元模式)
查看>>
oracle中怎么查看存储过程的源码
查看>>
Django-restframework 之 Exceptions分析
查看>>
下拉弹窗 pop push动画实现
查看>>
top命令查看内容详解
查看>>
Hive学习之七《 Sqoop import 从关系数据库抽取到HDFS》
查看>>
python:ElementTree操作XML
查看>>
div 居中
查看>>
java 关键字final static
查看>>
谷歌跟随微软加入云安全联盟 亚马逊依然游离
查看>>
用户黏性与垂直社区,互联网营销
查看>>
金山游戏研发改制新进展:计划本周发出正式公告
查看>>
艾伟:WCF从理论到实践(11)-异步
查看>>
艾伟也谈项目管理,如何做一个合格的项目经理
查看>>
cookie
查看>>
Hibernate学习(4)- Hibernate对象的生命周期
查看>>
windows模糊查询指定进程是否存在
查看>>