八、指针

一、概念

指针的类型就是所指向的程序实体的类型,大小也一样。指针的定义往往和其指向的程序实体一起。

 

指针的定义:

类型 *数组名[元素个数]

Int a;

Int *p=&a;

 

指针定义的时候必须要初始化,有时候不想让指针指向任何的变量,可以用null这个关键字来置空。而&符号可以看成是*的逆符号。

 

在指针作为函数的参数的时候,注意*符号和&的对立使用,得到想要的地址或者参数值。

 

 

二、指针使用

一般指针变量的使用用*&符号可以实现,需要注意的是一下三个方面:

1、  指针和数组的使用;

2、  指针和字符串的使用;

3、  指针数组;

4、  指针函数;

5、  带参数的主函数;

 

下面用一个程序简单地演示上述知识点:

#include<stdio.h>

 

 

int print1()

{

         return 1;

}

 /* 主函数带参数演示 */

int main(int argc,char *argv[])

{

        

         /* 一维数组的演示 */

         int i,j;

         int a[5]={1,2,3,4,5};

         int *p;

         p=a;

        

         for(i=0;i<5;i++)

         {

                   printf("%d ",*(p+i));

         }

         printf("\n");

        

        

         /* 二维数组的演示 */

         int b[3][3]={1,2,3,4,5,6,7,8,9};

         int (*p2)[3]=b;

        

         for(i=0;i<3;i++)

         {

                   for(j=0;j<3;j++)

                   {

                            printf("%d ",*(*(p2+i)+j));

                   }

                   printf("\n");

         }

        

         /* 指针字符串的演示 */

         char num[20]="abcdefg";

         char *p3;

         p3=num;

         printf("%s\n",p3);

        

         /* 指针数组数组的演示 */

         int *p4[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};

         for(i=0;i<5;i++)

         {

                   printf("%d ",**(p4+i));

         }

         printf("\n");

        

         /* 指针函数的使用 */

         int (*fun)();

         fun=print1;

         int x=(*fun)();

         printf("%d\n",x);

        

         return 0;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值