文档章节

第08天C语言(13):多级指针

lyh2017iOS
 lyh2017iOS
发布于 2017/07/05 09:56
字数 370
阅读 2
收藏 0

#pragma mark 多级指针 ###pragma mark 概念

###pragma mark 代码

#include <stdio.h>
int main()
{
#warning 一级指针
    /*
    char charValue = 'l';
    char *p;
    p = &charValue;
    
//    charValue = 'y';
    *p = 'y';
    printf("%c\n",*p);
    */
    
#warning 二级指针
    /*
    char charValue = 'l';
    // 1.拷贝需要指向的变量的数据类型和变量名称
    // 2.在数据类型和变量名称之间加上一颗星
    // 3.修改变量名称
    char *charValueP;
    charValueP = &charValue;
    
    // 1.拷贝需要指向的变量的数据类型和变量名称
    // 2.在数据类型和变量名称之间加上一颗星
    // 3.修改变量名称
    char **charValuePP; // 不管有几颗星 只要是指针变量就占用8个字节
//    printf("size = %lu\n",sizeof(charValuePP));
    charValuePP = &charValueP;
    
    
    // 赋值1
//    charValue = 'j';
    
    // 赋值2
    // *pcharValuep == charVlaue
//    *charValueP = 'j';
    
    // 赋值3
    
    // &charVlaue == charVlaueP
    printf("&charValue = %p\n",&charValue);
    printf("charValueP = %p\n",charValueP);
    
    // &charValueP == charVlauePP
    printf("&charValueP = %p\n",&charValueP);
    printf("charValuePP = %p\n",charValuePP);

    // *charVlauePP == offc14 == charValueP
    // *pp = p
    
    // **charValuePP = *(charValuePP) == *charValueP == 0ffc14 == y
    
    **charValuePP = 'N';
//    printf("%c\n",charValue);
//    printf("%c\n",*charValueP);
    printf("%c\n",**charValuePP);
     */
    
    char c = 'a';
    char *cp;
    cp = &c;
    char **cpp;
    cpp = &cp;
    
    char ***cppp;
    cppp = &cpp;
    printf("cppp = %c\n",***cppp);
    
    /*
     公式
     *cp == c;
     *cpp == cp;
     **cp == *(*cpp) == *cp == c
     多级指针的操作,最简单的方式,就是通过几颗星来存储,就通过几颗星来访问
     还有一种方式就是画图,看图片中有几个箭头,有几个鸡蛋就用几颗星来访问
     */
    
    printf("c = %c\n",c);
    printf("&c = %p\n",&c);
    
    printf("*cp = %c\n",*cp);
    printf("cp = %p\n",cp);

    printf("**cpp = %c\n",**cpp);
    printf("*cpp = %p\n",*cpp);
    
    
    return 0;
}


© 著作权归作者所有

共有 人打赏支持
lyh2017iOS
粉丝 1
博文 357
码字总数 137380
作品 0
朝阳
JavaScript 30天每日效果图

JavaScript 30天每日效果图 在Github上看到了wesbos的一个Javascript30天挑战的repo,旨在使用纯JS来进行练习,不允许使用任何其他的库和框架,该挑战共30天,我会在这里复现这30天遇到的挑战...

黎跃春
2017/07/19
0
0
JNI之C语言简单回顾

一.C语言基本数据类型: c语言中 char, int, float, double, signed, unsigned, long, short and void // java 中的8大本数据类型和他们的长度 // byte 1 char 2 short 2 int 4 long 8 double......

长平狐
2012/09/03
60
0
C语言指针讲解(二)

谨记 听......黎明在远方呼唤清晨,别在等,人的一生必将经历许多磨难,所以在人生前行的道路上,我们不可对每件轻微的伤害而敏感,在生活的磨难面前,精神上的坚强和无动于衷是我们抵抗罪恶...

长风留言
2017/11/13
0
0
C语言书籍资料汇总

我汇总出自己收藏的C语言方面的书籍资料,方便后期使用,或许你也用的到。 以下内容,有链接的都可以下载。 一、书籍 元老级别的书籍: C程序设计语言.pdf (c语言之父) C Primer plus 第5...

BjarneCpp
2017/11/06
0
0
十四、返回指针的函数与指向函数的指针

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 前言 前面我们花了...

长平狐
2013/03/28
75
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6 取余运算

python中取余运算逻辑如下: 如果a 与d 是整数,d 非零,那么余数 r 满足这样的关系: a = qd + r , q 为整数,且0 ≤ |r| < |d|。 经过测试可发现,python3.6中取余运算得到的 r 是正整数;...

colinux
17分钟前
1
0
[雪峰磁针石博客]软件测试专家工具包1web测试

web测试 本章主要涉及功能测试、自动化测试(参考: 软件自动化测试初学者忠告) 、接口测试(参考:10分钟学会API测试)、跨浏览器测试、可访问性测试和可用性测试的测试工具列表。 安全测试工具...

python测试开发人工智能安全
今天
3
0
JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
3
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
1
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部