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. @SessionAttributes的覆盖与加入

    在我们使用@SessionAttributes 注解向session加入对象时.当我们使用ModelMap的addAttribute()方法是指向session中加入一个新的对象,而使用HttpSes ...

  2. spoj 1812 LCS2 - Longest Common Substring II (后缀自己主动机)

    spoj 1812 LCS2 - Longest Common Substring II 题意: 给出最多n个字符串A[1], ..., A[n], 求这n个字符串的最长公共子串. 限制: 1 < ...

  3. javascript下的json 序列化及反序列化

    1.序列化 将json对象转为字符串: JSON.stringify(jsonObj) 2.反序列化 var jsonObj = eval("(" + jsonstring + & ...

  4. 协方差矩阵与主成分分析PCA

    今天看论文,作者是用主成分分析(PCA)的方法做的.仔细学习了一下,有一篇博客写的很好,介绍的深入浅出! 协方差:http://pinkyjie.com/2010/08/31/covariance/ ...

  5. nohup 程序在后台运营 避免 xshell 卡死 通过 nohup.out分析调取系统命令时的异常分析

    nohup  程序在后台运营 避免 xshell  卡死 [root@admin1 after_fc_distributed]# nohup /root/anaconda3/bin/python da ...

  6. placeholder 占位符

    placeholder 简介  |  TensorFlow https://tensorflow.google.cn/programmers_guide/low_level_intro 供给 目前来讲 ...

  7. luogu 2627 修建草坪

    题目大意: 一个数列,取出一些数使得它们的总和最大且没有k个连续 思路: 首先我们可以找到一个nk的dp dp方程:dp[i]=dp[i-1]+sum[i]-sum[j] (sum[j]尽量小) 然后 ...

  8. Linux下 CentOS 7 对比6 改动详解 及 系统安装

    系统基础服务变化 操作系统 本文CentOS7 为最新版7.5 本文CentOS6 为6.9 操作 Centos6 Centos7 对比 自动补全 只支持命令.文件名 支持命令.选项.文件名 文件系统 ...

  9. sql server 触发器详细应用

    SQL Server 触发器 触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用.  Ø 什么是触发 ...

  10. OAuth2.0最简向导

    无论你是否有技术背景,你都能看懂授权协议框架OAuth2.0 翻译来自:川崎高彦对自己投资人讲解自己的SaaS安全产品. Got it! https://medium.com/@darutk/the- ...