`
hongbochen1223
  • 浏览: 44226 次
文章分类
社区版块
存档分类
最新评论

使用指针比较整型数据的大小

 
阅读更多

该C实例是一个比较简单的实例,但是在该实例中,重点介绍了C语言中比较常用的也是容易出错的指针变量,其中包括指针变量的赋值,指针变量的运算等等。该实例实现了通过使用指针变量来比较3个整形数据,使其从小到大排列,实现比较简单,下面附上我的代码:

#include <stdio.h>

/**
 * 通过指针比较三个整数的大小
 * @brief main
 * @return
 */

/**
 * 指针,即为变量的地址;指针变量,即数值为
 * 指向变量地址的变量
 * 指针变量的类型:
 * 对指针变量的类型说明包括3个内容
 *  1:指针类型说明,即定义变量为一个指针变量
 *  2:指针变量名
 *  3:变量值(指针)所指向的变量的数据类型
 * 其一般形式为:
 *  类型说明符 *变量名;
 *  其中,*表示这是一个指针变量,变量名即为定义的指针变量名,
 *  类型说明符表示本指针变量所指向的变量的数据类型
 *
 *  指针变量的赋值:
 *  C中提供了地址运算符"&"来表示变量的地址
 *  要把整型变量a的地址赋予p可以有下面两种方式:
 *  (1)指针变量初始化方法
 *      int a;
 *      int *p = &a;
 *  (2)赋值语句的方法
 *      int a;
 *      int *p
 *      p = &a;
 *
 *  指针变量的元算:
 *  1:指针运算法
 *      (1)取地址运算符&
 *      (2)取内容运算符*
 *  2:指针变量的元算
 *      (1)赋值运算
 *      (2)加减运算符
 */



int main(void)
{
    int x,y,z;  //定义3int类型的变量
    int *xp = &x, /*定义指针变量xp,并赋值为x的地址,使其指向x*/
        *yp = &y, /*定义指针变量yp,并赋值为y的地址,使yp指向y*/
        *zp = &z; /*定义指针变量zp,并赋值为z的地址,是zp指向z*/

    int t;

    printf("Please input x,y,z:\n");
    scanf("%d%d%d",xp,yp,zp); /* 通过变量的指针,为变量输入值 */

    if(*xp > *yp){  /*通过指向变量的指针引用变量的值*/
        t = *xp;
        *xp = *yp;
        *yp = t;
    }

    if(*xp > *zp){
        t = *xp;
        *xp = *zp;
        *zp = t;
    }

    if(*yp > *zp){
        t = *yp;
        *yp = *zp;
        *zp = t;
    }

    printf("x = %d,y = %d,z = %d\n",x,y,z);
    return 0;

    /**
     * 与指针有关的类型:
     * int i; //定义整型变量i
     * int *p; //p为指向整型数据的指针变量
     * int a[n]; //定义数组a,他有n个元素
     * int *p[n]; //定义指针数组p,他有n个指向整型数据的指针元素组成
     * int (*p)[n]; //p为指向n个元素的一维数组的指针变量
     * int f(); //f为返回整型函数值的函数
     * int *p(); //p为返回一个指针的函数,该指针指向整数型数据
     * int (*p)(); //p为指向函数的指针,该函数返回一个整数值
     * int **p; //p是一个指针变量,他指向一个指向整型数据的指针变量
     */
}

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    C语言指针的定义和使用

    所有的指针类型存储的都是内存地址,内存地址都是一个无符号16进制整型数。 指针间接赋值 两个变量:普通变量、指针变量 建立关系 指针变量=&普通变量 通过 *运算符赋值 *指针变量=值 64位操作系统下所有指针类型是8...

    C语言如何在指针中隐藏数据详解

    前言 编写 C 语言代码时,...下面,假设系统中整型数据和指针大小均为 4 字节。 现在有一个指向整型的指针。如上所述,整型数据可以存放在内存地址 0x1000 或者 0x1004 或者 0x1008,但是决不会存放在 0x1001 或者

    11.第十一章 指针.txt

    (3)指针所指向的变量的数据类型:int为指针变量所指向的变量的数据类型,说明pi只能存储整型变量的地址。 如: float *pf; /*pf为指向浮点变量的指针变量*/ char *pc; /*pc为指向字符变量的指针变量*/ 11.2.2...

    如何在指针中隐藏数据?

     下面,假设系统中整型数据和指针大小均为 4 字节。  现在有一个指向整型的指针。如上所述,整型数据可以存放在内存地址0×1000或者0×1004或者0×1008,但是决不会存放在0×1001或者0×100

    数组和指针

    arraySize 表示数组大小,必须是大于 0 的常数,或整型常量表达式,不能是变量, 当一个数组被声明后其元素的初值是随机的 如果多个数组的元素类型相同,可在一条语句声明多个数组 dataType arrayName1[Size1], ...

    数据结构实验线性表实验报告(代码是java编写的)

    (1)创建一个顺序表,存放在数组 A[N]中,元素的类型为整型,设计算法调整 A,使其左边的所有元素小于 0,右边的所有元素大于 0(要求算法的时间复杂度和空间复杂度均为 O(n))。 (2)建立一个循环单链表,其节点...

    简单分析C++指针的操作和运算

    比如两个实数可以用关系运算得知哪个大哪个小,而两个虚数却不能使用关系运算,因为比较虚数的大小是没有意义的。  对于指针类型来说,可以使用的运算有:和整数做加法运算、和整数做减法运算、两指针做关系运算。...

    指针实验实验报告.doc

    计算机科学与技术 班级:计算机科学与技术创新实验班 日期:2011-12-29 成绩: 实验组别: 第 次实验: 指导教师: 学生姓名: 学号: 同组人姓名: 实验名称:指针实验 实验目的 熟练掌握指针的说明、赋值、使用。...

    《数据结构 1800题》

    使用抽象数据类型的主要好处是什么?【北京邮电大学 1994 一(8分)】 4. 回答问题(每题 2分)【山东工业大学 1997 一 (8分)】 (1)在数据结构课程中,数据的逻辑结构,数据的存储结构及数据的运算之间存在着...

    服务器概要设计说明.docx

    本地数据与字节流数据的互相转换 本地数据转 为字节流数据时,根据本地数据大小构造字节流对象,然后将本地数据逐字节填入流中,可变数组先填入数组大小再逐个填充数组内容。 字节流数据转换为本地数据时,根据字节流中...

    设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)

    (用字符指针存储学号和姓名,通过动态存储空间分配的方式为指针开辟指向的空间,保证空间大小没有浪费) 2)成员函数包括: 设置学生每门课成绩的函数 setScore();计算三门课程平均成绩的函数average();分别用来设置...

    编写一个在具有m行n列的二维数组各元素中找出最大元和最小元并显示在屏幕上的函数模板,并通过主函数对它进行调用以验证其正确性。例如,可设计该函数模板的原型为:

    注意:函数模板maxMin中要处理二维数组A的m行n列的诸元素,但设计第一参数传递过来的是Type*类型的首元素指针,所以具体处理时可以按照如下的“一维数组”方式来进行(共处理m乘以n个数据 -- 也即二维数组A的m行n列...

    c/c++ 学习总结 初学者必备

    c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer) d) 一个有10个整型数的数组(An array of 10 integers) e) 一个有10个指针的数组,该指针是指向一个整型数的...

    C语言程序设计(高清PDF)

    2.3 整型数据 16 2.3.1 整型常量 16 2.3.2 整型变量 17 2.4 实型数据 18 2.4.1 实型常量 18 2.4.2 实型变量 18 2.5 字符型数据 19 2.5.1 字符常量 19 2.5.2 字符串常量 19 2.5.3 转义字符 20 2.5.4 符号常量 20 ...

    你必须知道的495个C语言问题

    4.14 怎样在整型和指针之间进行转换?能否暂时把整数放入指针变量中,或者相反? *4.15 我怎样把一个int变量转换为char*型?我试了类型转换,但是不行。 第5章 空指针 空指针和空指针常量 5.1 臭名昭著的空...

    数据结构图实验报告.docx

    数据结构图实验报告全文共15页,当前为第1页。数据结构图实验报告全文共15页,当前为第1页。数据结构教程 数据结构图实验报告全文共15页,当前为第1页。 数据结构图实验报告全文共15页,当前为第1页。 上机实验报告 ...

    C语言程序设计(PDF格式)

    2.3 整型数据 16 2.3.1 整型常量 16 2.3.2 整型变量 17 2.4 实型数据 18 2.4.1 实型常量 18 2.4.2 实型变量 18 2.5 字符型数据 19 2.5.1 字符常量 19 2.5.2 字符串常量 19 2.5.3 转义字符 20 2.5.4 符号常量 20 ...

Global site tag (gtag.js) - Google Analytics