作业 5 指针应用1

1、自学教材 第8章 指针,回答以下问题:

  • 变量、内存单元和地址之间是什么关系?

              答:在c语言中,如果定义了一个变量,在编译时就会根据该变量的类型给它分配相应大小的内存单元。

                    而为了对内存单元中的数据进行操作,一般来按地址存取

  • 如何定义指针变量,怎样才能使用指针变量?

              答: 定义指针变量的一般形式为:类型名 *指针变量名;

                     如:int *pointer_1,*pointer_2;

  • 什么是指针变量的初始化?

              答:指针变量的初始化一般就是使用该运算符取得一个变量的地址,并将其赋值给指针变量

  • 指针变量的基本运算有哪些?如何使用指针操作所指向的变量?

             答:1.取地址运算和间接访问运算和赋值运算

                   2.(1)给指针变量赋值 (2)引用指针变量指向的变量 (3)引用指针变量的值

  • 指针作为函数参数的作用是什么?

             答:  将一个变量的地址传送到另一个变量中去

  • 如何使用指针实现函数调用返回多个值?

             答:在主函数调用函数时,将变量的地址作为实参,在被调函数中用形参指针分别接收地址

             并改变形参所指向变量的值,因此,主函数中的值也随之改变

  • 如何利用指针实现内存的动态分配?

 2、设计一个程序计算输入的两个数的和与差,要求自定义一个函数 sum_diff(float op1, float op2, float *psum, float *pdiff),其中 op1 和 op2 是输入的两个数,*psum 和*pdiff 是计算得出的和与差

 

/* 设计一个程序计算输入的两个数的和与差 */
#include<stdio.h>
//自定义一个函数 sum_diff(float op1, float op2, float *psum, float *pdiff)
void sum_diff(float op1,float op2,float *psum,float *pdiff)    
{
    *psum=op1+op2;     //定义指向浮点型的指针求和与差
    *pdiff=op1-op2;  
    return ; 
}   
int main()             //调用函数
{    
    float op1,op2,psum,pdiff;  
    printf("please input op1 and op2:\n"); //从键盘输入两个数字
    scanf_s("%f %f",&op1,&op2);   
    sum_diff(op1,op2,&psum,&pdiff);  
    printf("*psum=%f\n *pdiff=%f\n",psum,pdiff); //输出结果
     
}

3、两个相同类型的指针变量能不能相加?为什么?

答:能

 4、重做教材P88 例8-9,要求使用选择排序算法

 

posted @ 2013-11-06 23:27  刘睿1994  阅读(214)  评论(0编辑  收藏  举报