指针易混肴的定义方式详解

一、 int (*p)[4];

 表示p是一个指针变量,它指向包含4个整型元素的一维数组。注意*p两边的括号不能少,如果写成 *p[4],由于 [] 运算级别高,因此 p 先于 [4] 结合,p[4] 是定义数组的形式,再与前面的 * 号结合, * p [4] 就是指针数组;

 

二、

  char *string = I love china!;

等价于下面两行

char *string ;

  string = I love china!;

在输出时要用  printf(%s\n,string);

三、

 危险输入字符串的方法:

       char  *p;

       scanf(%s,p);   这种方法不提倡使用!

正确方法:

     char  *s;

     char  str[10];

        s = str;

        scanf(%s,s);

四、

用指针变量指向一个格式字符串,它可以代替 printf 函数中的格式字符串。例如

  char  *format;l

  format = a = %d,b = %f\n;

  printf(format,a,b);

相当于     printf(a = %d,b = %f\n,a,b);

这种 printf 函数称为可变输出格式输出函数,也可以用字符数组实现。

   char format[] = a = %d,b = %f\n;

      printf(format,a,b);

但注意不能采用赋值语句对数组整体赋值,

   char format[]

      format = a = %d,b = %f\n;

因此,用指针变量指向字符串的方式更为方便。

五、指向函数的指针

   定义方式 :  数据类型  (*指针变量名)(函数参数列表);

这里的数据类型是指函数返回值的类型;

六、返回指针值的函数
    定义方式 类型名 *函数名(参数表列);   //P265

   

七、指针数组

       定义方式 :  类型名  *数组名[数组长度]

八、指向指针的指针

      char **p;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值