博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验9-1 指针类型
阅读量:4145 次
发布时间:2019-05-25

本文共 1347 字,大约阅读时间需要 4 分钟。

实验9-1  指针类型

实验目的:

理解指针类型。

实验步骤:

1.分组讨论下面的说法或问题。

1.1指针变量存储的内容为地址,而地址是有类型的,因为地址必须是某存储单元的地址时才有意义(即可以通过地址根据类型使用相关存储单元),因此,指针变量本质上指向的是某类型的存储单元。

1.2有了指针变量就是又多了一种使用存储单元的途径。

1.3地址是编号是整数,为何不能用整数给指针变量赋值?但为何使用强制类型转换之后就可以了?编译系统为何只尽到提醒的义务,而不绝对禁止呢?

2.已知有int i=3, *pi=&i;

2.1分析下面语句的输出(不能确定时用某某变量的地址代替)并编程验证。

    printf("%x,%x,%x\n", &i, i,*i);

       printf("%x,%x,%x\n", &pi,pi, *pi);

2.2根据程序的输出,画出变量i和pi简化的存储状态图。

2.3分析下面语句的输出并编程验证。

printf("%x,%x,%x\n", pi, *&pi,&*p);

3.有int i = 3, *pi, *pj;

       pi = &i;

       pj = pi;

3.1画出变量i、pi和pj的形象状态图。

3.2对于变量i所标识的存储单元,现在有几种使用途径?

3.3分析下面语句的输出并编程验证。

       *pj = i + *pi;

       printf("%d,%d,%d\n", i, *pi,*pj);

4.分析并比较下面三个程序的输出。

4.1

#include <stdio.h>

void main( )

{

       inti = 3, j = 2;

       int*pi, *pj, *ptemp;

       pi = &i;

       pj = &j;

       printf("%d,%d\n", i, j);

       printf("%d,%d\n", *pi, *pj);

       ptemp = pi;

       pi = pj;

       pj= ptemp;

       printf("%d,%d\n", i, j);

       printf("%d,%d\n", *pi, *pj);

}

4.2

#include <stdio.h>

void main( )

{

       inti = 3, j = 2, temp;

       int*pi, *pj;

       pi = &i;

       pj = &j;

       printf("%d,%d\n", i, j);

       printf("%d,%d\n", *pi, *pj);

       temp = *pi;

       *pi = *pj;

       *pj= temp;

       printf("%d,%d\n", i, j);

       printf("%d,%d\n", *pi, *pj);

}

4.3

#include <stdio.h>

void main( )

{

       inti = 3, j = 2, temp;

       int*pi, *pj;

       pi = &i;

       pj = &j;

       printf("%d,%d\n", i, j);

       printf("%d,%d\n", *pi, *pj);

       temp = i;

       i = j;

       j= temp;

       printf("%d,%d\n", i, j);

       printf("%d,%d\n", *pi, *pj);

}

5.有int *pi;,如何评价语句pi=&pi;?

转载地址:http://xddti.baihongyu.com/

你可能感兴趣的文章
深入理解HTTP消息头(一)
查看>>
一个HR给应届毕业生的面试建议
查看>>
文件系统高手请进!
查看>>
学习FPGA需要掌握的
查看>>
C++学习(一)
查看>>
C++学习(二)
查看>>
C++学习(三)
查看>>
说说异或运算^和他的一个常用作用 (转载)
查看>>
static的作用
查看>>
讲讲volatile的作用
查看>>
GCC错误:stray '/161' in program
查看>>
单片机指针类型和存储区的关系详解
查看>>
bit 和sbit的区别
查看>>
一个程序员的爱情
查看>>
关于软件项目版本的命名规则以及格式介绍
查看>>
SVN: svn之trunk、branches、tags
查看>>
I2C总线协议详解
查看>>
SVN:show log with no date的解决方法
查看>>
王国维人生三境界
查看>>
项目管理
查看>>