C语言指针练习1

1.指针的用法示例。

#include<stdio.h>
#include<ctype.h>

void main()
{
 int var=10;
 int *ptr_var;

 ptr_var=&var; //指针ptr_var指向变量var。
 //输出var的值和变量var的地址。
 printf("/nvar的值为:%d/n",var);  //输出10。
 printf("/nvar的地址为:%x/n",&var);   //输出&var与ptr_var一样。

 //输出ptr_var的地址。
 printf("/nptr_var的地址为:%x/n",&ptr_var);

 //输出指向变量的指针,输出变量var的值和var存储地址。
 printf("/nvar的值为:%d/n",*ptr_var);  //输出10。
 printf("/nvar的地址为:%x/n",ptr_var);
}
 

 

 

2.通过指针间接将一个变量值赋给另一个变量。

#include<stdio.h>
#include<ctype.h>

void main()
{
 int num1=50,num2=100;
 int *ptr1,*ptr2;

 ptr1=&num1; //ptr1指针指向变量num1。
 printf("/nnum1变量的值为:%d/n",*ptr1);
 printf("/nnum1的地址是:%x/n",ptr1);

 ptr2=&num2;
 printf("/nnum2的值为:%d/n",*ptr2);
 printf("/nnum2的地址为:%x/n",ptr2);

 *ptr2=*ptr1;//将ptr1指向的变量值num1也让ptr2指向。
 printf("/n重赋值后的num2值是:%d/n",*ptr2);
 printf("/n重赋值后的num2地址是:%d/n",ptr2);
}

 

 

3.使两个指针指向同一个变量。

#include<stdio.h>
#include<ctype.h>

void main()
{
 int num1=100;
 int *ptr1,*ptr2;

 ptr1=&num1; //ptr1指针指向变量num1。
 printf("/nnum1的地址是:%x/n",ptr1);

 ptr2=ptr1;//将ptr1赋给ptr2,指针ptr2也指向变量num1。

 printf("/nptr2的地址是:%x/n",ptr2);
}

 

 

4.比较两个指针是否相等的运算。

#include<stdio.h>

void main()
{
 int *ptr1,*ptr2;
 int value=1;

 ptr1=&value; //ptr1指针指向变量value。
 value+=10;
 ptr2=&value;
 if(ptr1==ptr2)
  printf("/n两个指针指向同一个地址。/n");
 else
  printf("/n两个指针指向不同的地址。/n");
}

 

 

5.指向数组的指针。

#include<stdio.h>

void main()
{
 int data[]={5,10,15,20,25};
 int i=0;
 int *ptr;

 ptr=data;//ptr指向数组第一个元素data[0]。
 while(i<5)
 {
  printf("/n第%d个元素的地址是:%x,变量值为:%d/n",i+1,ptr,*ptr);
  i++;
  ptr++;
 }
}

 

 

6.通过指针检查一串字符是否为回文字符。

#include<stdio.h>

void main()
{
 char name[5]={'M','A','D','A','M'};
 int flag=1;//用于标记。

 char *start,*end;

 start=name;
 end=name+4;//end=&name[4];

 for( ;start<=end;start++,end--)
 {
  if(*start!=*end)
  {
   flag=0;
   break;
  }
 }

 if(flag)
 {
  printf("/n该字符是回文字符。/n");
 }
 else
 {
  printf("/n该字符不是回文字符。/n");
 }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值