11dayC语言指针-指针变量

一、计算机中的内存

内存是由按顺序编号的一系列存储单元组成的,在内存中,每个存储单元都由唯一的地址,通过地址可以方便地在内存单元中存储信息。内存中的数据要靠供电来维持,当计算机关机或意外断电时,其中的所有数据就永久地消失了。内存地址是连续的,相邻内存单元间的地址差1,可以把内存看成一个平坦连续的一维空间。

二、指针变量

专门存放变量地址的变量叫指针变量

三、课后作业

#include <stdio.h>

/*
输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
*/ 
void MAX(int *p,int a[10]);
void MIN(int *p,int a[10]);
int main()
{
    int a[10];
    int i;
    printf("请输入七个数:\n"); 
    for(i=0;i<7;i++)
        scanf("%d",&a[i]);
    int *p=NULL;
    MAX( p , a );
    MIN( p , a );
    for(i=0;i<7;i++)
        printf("%d ",a[i]);
    return 0;
}

void MAX(int *p,int a[10])
{
    int i,temp,max;
    p=a;
    temp=a[0];
    for(i=0;a[i]!='\0';i++)
    {
        if(a[i]>*p)
        {
            max=i;
            *p=a[i];
        }        
    }
    a[max]=temp;    
}

void MIN(int *p,int a[10])
{
    int i,j=-1,temp,min,frist;
    p=a;
    frist=a[0];
    for(i=0;a[i]!='\0';i++)
    {
        if(a[i]<frist)
        {
            frist=a[i];
            min=i;
        }
        j++;
        *(p+j);
    }
    temp=*(p+j);
    *(p+j)=a[min];
    a[min]=temp;
}

 

#include <stdio.h>
#include <string.h>
#define N 32
/*
输入一行字符,运用指针找出其中的大写字母,空格,数字,及其他字符的个数。
*/

int main()
{
    char str[N];
    int i;
    char *p=NULL;
    int a=0,b=0,c=0,d=0;
    gets(str);
    int len=strlen(str);
    p=str;
    for(i=0;i<len;i++)
    {
        if( *(p+i)>='A' && *(p+i)<='Z' )
        {
            a++;
        }
        else if(*(p+i)==' ')
        {
            b++;
        }
        else if(*(p+i)>='0' && *(p+i)<='9')
        {
            c++;
        }
        else
        {
            d++;
        }
    }
    printf("大写字母%d 个,空格%d 个,数字%d 个,及其他字符%d 个",a,b,c,d);
        
    return 0;
}
#include <stdio.h>

/*
定义 3 个整数及整数指针,仅用指针方法按由小到大的顺序输出。
*/

void fun(int *p1,int *p2, int *p3);
int main()
{
    int a=10,b=5,c=1;
    int *p1=&a,*p2=&b,*p3=&c;
    fun(p1,p2,p3);
//    printf("%d %d %d",a,b,c); 
    return 0;
}

void fun(int *p1,int *p2, int *p3)
{
    int *temp;
    if(p1>p2)
    {
        temp=p1;
        p1=p2;
        p2=temp;    
    } 
    if(p1>p3)
    {
        temp=p1;
        p1=p3;
        p3=temp;    
    } 
    if(p2>p3)
    {
        temp=p2;
        p2=p3;
        p3=temp;    
    }
    printf("%d %d %d",*p1,*p2,*p3);    
}

 

 

 

 

 

转载于:https://www.cnblogs.com/zhujiankang/p/11275888.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值