美文网首页
C语言指针、数组

C语言指针、数组

作者: 牛家村的枇杷 | 来源:发表于2016-04-14 11:47 被阅读0次

指针

        int i = 10;
        int *p;
        p = &i;
        
        NSLog(@"i:%d,p:%p,*p:%d",i,p,*p);

打印结果:

 i:10,p:0x7fff5fbff84c,*p:10

错误示例:

          *p = &i;

*号如果不在声明语句中,而只是右边有表达式的话,表明取*号右边变量中所存地址对应内存中的数据(取值、指针运算符)

p是int*类型(一个指向int的指针)
*是这个变量类型名称的一部分(当需要这种类型的变量p,应该这样写:(int*)p)

  • 在Objective-C中,引用对象使用的就是指针
        NSString *s = @"This is a string";

在纯粹的C语言中,声明指向整形的指针为p,在代码中更倾向于写成 *p
声明之外的意思是:指针p指向的对象
写成*p是因为希望访问指针所指向的整形变量,这就是所谓的指针的解引用(dereferencing)

而在Objective-C中,将指向对象的指针视为对象,这样就永远不能解引用。
如已声明指向NSString的指针s,我们不会使用*s,而是直接使用s,就好像它是字符串一样。在OC语言中处理对象时更倾向于使用指针,而不是指针指向的对象。在后台OC语言会处理好凌乱的事务,会监视指针指向的内存,处理内存必要的操作。这对程序员来说很便利,却会导致代码松散。我们更倾向于说"s是一个NSString",实际上它是一个指向NSString的指针。

  • 数据类型 *指针变量名称;
        char *c;
        double *d;

"数据类型"为该指针变量所存储的指针指向的存储单元中的数据的类型。

相关文章

  • 指针数组和数组指针

    指针数组|存储指针的数组 在C语言和C++语言中,数组元素全为指针的数组称为指针数组。 例如:int *p[10]...

  • C语言中的指针与数组

    C语言中的指针与数组 @(C语言)[排序算法, 快速排序, C实现] 引言 相信指针与数组是不少同学在初学C语言时...

  • 再学C语言之指针要点

    C之字符数组 C之指针引用字符串 C语言之数组指针 数组指针:首先它是一个指针,它指向数组指针数组:首先它是一个数...

  • C语言21 指针数组与数组指针

    C语言21 指针数组与数组指针 指针数组的定义 指针数组的赋值 结构体指针数组 分析下面的代码 数组指针的定义 数...

  • 02-C语言的指针

    02-C语言的指针 目标 C语言指针释义 指针用法 指针与数组 指针与函数的参数 二级指针 函数指针 指针在C中很...

  • 指针数组&数组指针

    本节继续讨论C语言中的指针。 指针数组&数组指针 先理解一下什么是指针数组和数组指针,指针数组的实质是个数组,这个...

  • C语言的指针与数组(进阶篇之一)

    一、一维数组与指针 (1).数组指针在C语言中,数组的首地址称为数组指针。而C++规定,数组的首地址可用数组名a表...

  • C语言数组指针指针数组

    以前我觉得成绩不重要,清华北大只能代表学生时代的成就,后来才发现,努力是种习惯,他会贯穿一生。。。 ---- 网易...

  • C语言

    C 指针、指针变量、函数指针、指针函数、指针数组、数组指针、C 数组

  • 浅谈C语言数组与指针的关系

    浅谈指针定义细节及其与数组的关系 前言 翁恺老师曾经说过,指针是 C 语言的灵魂,是使 C 语言成为 “C语言” ...

网友评论

      本文标题:C语言指针、数组

      本文链接:https://www.haomeiwen.com/subject/ijxglttx.html