C语言指针


地址

地址就是数据元素在内存中的位置表示;

&变量名

#include <stdio.h>
int main(){
         int aa;
         unsigned int bb = &aa;
         printf("%d\n",bb);
         ;
}
#include <stdio.h>
int main(){
    ];
    unsigned ];
    printf("%d\n",add);
    ;
} 

指针

概念

地址表示一个位置,指针指向这个地址表示的位置;指针是一个变量,它存储的是另一个变量的地址,地址运算符&与间接运算符*被放置在变量的前面时,地址运算符返回该变量的地址;被放置在指针的前面时,间接运算符返回该指针指向变量的内容。

指针变量的定义与使用

#include <stdio.h>
int main(){
    int aa;
    int *address;
    address = &aa;
    printf("%d\n",address);
    ;
}
#include <stdio.h>
int main(){
    ];
    unsigned ];
    printf("%d\n",add);
    int *aa;
    aa = &CharArr[];
    printf("%d\n",aa);
    ;
} 

void指针

空指针或无类型指针

#include <stdio.h>
int main(){
    int aa;float bb;char cc;void *address;
    address = &aa; printf("%d\n",address);
    address = &bb; printf("%d\n",address);
    address = &cc; printf("%d\n",address);
    ;
}
#include <stdio.h>
int main(){
    int aa;float bb;double cc;char dd;
    int ee;float ff;double gg;char hh;
    int *AA;float *BB;double *CC;char *DD;
    void *EE,*FF,*GG,*HH;
    AA = &aa;BB = &bb;CC = &cc;DD = &dd;
    EE = &ee;FF = &ff;GG = &gg;HH = &hh;
    printf("%d\n",AA);
    printf("%d\n",BB);
    printf("%d\n",CC);
    printf("%d\n",DD);
    printf("%d\n",EE);
    printf("%d\n",FF);
    printf("%d\n",GG);
    printf("%d\n",HH) ;
    ;
}

指针运算

取指针元素

#include <stdio.h>
int main(){
    ;
    int *AA;
    AA = &aa;
    printf("%d\n",aa);
    printf("%d\n",&aa);
    printf("%d\n",*AA);
    ;
}
#include <stdio.h>
int main(){
    ;int *address;int values;
    address = &aa; printf("%d\n",address);
    values = *address; printf("%d\n",values);
    ;
}

指针的自增自减

指针与数组

数组名也是指针即数组元素的第一个元素的地址;

指针与字符

#include <stdio.h>
int main(){
    char character = 'c';
    char *c_add;
    c_add = &character;
    printf("%c\n",character);
    printf("%d\n",&character);
    printf("%c\n",*c_add);
    ;
}

指针与字符串

#include <stdio.h>
int main(){
    //
    ] = "abcdefghij";
    char *str_add;
    str_add = CharArr;
    int i;
    ;i<;i++,str_add++){
        printf("%d %d %c\n",i,str_add,*str_add);
    }
    ;
}

09C语言指针的更多相关文章

  1. C语言指针转换为intptr_t类型

    1.前言 今天在看代码时,发现将之一个指针赋值给一个intptr_t类型的变量.由于之前没有见过intptr_t这样数据类型,凭感觉认为intptr_t是int类型的指针.感觉很奇怪,为何要将一个指针 ...

  2. [转]C语言指针学习经验总结浅谈

    指针是C语言的难点和重点,但指针也是C语言的灵魂 . 这篇C语言指针学习经验总结主要是我入职以来学习C指针过程中的点滴记录.文档里面就不重复书上说得很清楚的概念性东西,只把一些说得不清楚或理解起来比较 ...

  3. 不可或缺 Windows Native (7) - C 语言: 指针

    [源码下载] 不可或缺 Windows Native (7) - C 语言: 指针 作者:webabcd 介绍不可或缺 Windows Native 之 C 语言 指针 示例cPointer.h #i ...

  4. C语言指针学习

    C语言学过好久了,对于其中的指针却没有非常明确的认识,趁着有机会来好好学习一下,总结一下学过的知识,知识来自C语言指针详解一文 一:指针的概念 指针是一个特殊的变量,里面存储的数值是内存里的一个地址. ...

  5. (转载)c语言指针学习

    前言 近期俄罗斯的陨石.四月的血月.五月北京的飞雪以及天朝各种血腥和混乱,给人一种不详的预感.佛祖说的末法时期,五浊恶世 ,十恶之世,人再无心法约束,道德沦丧,和现在正好吻合.尤其是在天朝,空气,水, ...

  6. 关于C语言指针的问题

    在学习关于C语言指针的时候,发现这样一个问题,代码如下: #include<stdio.h> #include<stdlib.h> #include<string.h&g ...

  7. C语言指针类型 强制转换

    关于C语言指针类型 强制转换  引用一篇文章: C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值.不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个 ...

  8. C语言指针和数组知识总结(上)

    C语言指针和数组知识总结(上) 一.指针的基础 1.C语言中,变量的值能够通过指针来改变,打印指针的语句符号可以是:  %08x 2.指针的本质 指针的本质就是变量,那么既然是变量,那么一定会分配地址 ...

  9. C语言指针操作

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/pointer-manipulation. ...

随机推荐

  1. 75. Autorelease机制及释放时机

    Autorelease机制是iOS开发人员管理对象内存的好伙伴.MRC中.调用[obj autorelease]来延迟内存的释放是一件简单自然的事:ARC下,我们甚至能够全然不知道Autoreleas ...

  2. 在Android程序中使用已有的SQLite数据库

    已经将这篇文章迁移至 Code问答,你也能够到这里查看这篇文章,请多多关注我的新技术博客CodeWenDa.com 在中文搜索中,没有找到一篇比較好的关于怎样在Android应用中使用自己事先创建好的 ...

  3. Appro DM8127 IPNC 挂载NFS遇到的问题及解决

    对于Appro DM8127 IPNC,默认的启动方式是NAND is used for booting kernel and NAND is used as root filesystem 为了调试 ...

  4. iOS开发——常见BUG——window决定程序的状态栏管理问题

    Xcode7升级之后遇到的问题   问题一: 老项目在Xcode6上运行没有任何问题,但在Xcode7上运行直接崩了! 经过一波分析: 发现是因为我顶部状态栏处添加了topWindow,用于处理Tab ...

  5. chmod a+w . 权限控制 su、sudo 修改文件所有者和文件所在组

    对当前目录对所有用户开放读写权限 chmod a+r . $ sudo chmod -R a+w /usr/lib/python2.7 所有用户添加文件的写权限 [linux]su.sudo.sudo ...

  6. 解决myeclipse在mac中Retina屏幕中模糊的终极详细方法

  7. mysql自增主键在大量删除后如何重新设置避免断层

    alter table tt auto_increment=8; 表tt mysql> select * from tt; +----+ | id | +----+ | 1 | | 2 | | ...

  8. python-----截取xml文件画框的图片并保存

    from __future__ import division import os from PIL import Image import xml.dom.minidom import numpy ...

  9. bzoj4868

    http://www.lydsy.com/JudgeOnline/problem.php?id=4868 三分+贪心 我们可以知道这是一个单峰函数 当A>B那么我们每次调整一个的价钱是最佳的,所 ...

  10. log4j日志基本配置

    Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使用这三个组件可以轻松 ...