指针和格式控制符

1、指针

1)指针:指针是一个地址,一个常亮;

2)指针变量:存放指针的变量,它存放的是一个地址

3)指针变量的格式: 类型说明符  *变量名

例:int  *p ;

4)一次性定义多个指针的格式:int  *p *s 

5)指针变量的初始化:用地址初始化

6)先定义后初始化:

       int  *p ;

       p = &a ;

7)定义的同时初始化:int  *p = &a ;

8)指针变量*p 的含义:p中存放的是它指向的空间的首地址,*p表示获取p指向的空间的内容或者是p所指的内存单元所对应的地址中的内容。

9)定义一个整型的变量:int a = 5;(假设变量a的地址=0x011F ),在定义一个指针:int *p = &a ;p = 0x011F, *p = 5 ; 

10)指针变量给变量赋值: int a = 4;  int *p = &a;  int b = *p; b = 4

11)指针变量给变量赋值: int a = 4;  int *p = &a ;  *p = 6;则 a = 6 ;

12)指针变量指向空:int *p = NULL,表示什么也没指,这是指针变量的常用用法。

13)野指针:指一个指针变量定以后,如果没初始化,存放的就是垃圾数,此指针称为野指针,野指针可能会扰乱系统程序。

14)指针可以在被调函数中修改主调函数中变量的值。定义一个被调函数(voidtest( int *p ){*p = 100};

主调函数 int main(){ int a = 18; int *p1 = &a; test( p1); printf(“%d”,a)} ,a = 100;

15)如果一个指针变量存放的是另一个指针变量的地址,则称这个指针变量为指针的指针变量,也称多级指针:int a = 2; int *p = &a; int **s = &p ,*s称为二级指针,也叫多级指针。

16)指针的类型要和指向的变量的类型要一致,什么类型的指针指向什么类型的变量。

17)定义一个数组:int arr[]={1,2,3,4,5}; int*p = arr; p+1就指向了数组的第二个元素,p+i就指向了数组的第i+1个元素,加减同理。

18)指向同一数组的两指针相减之差为数组元素之间相差的个数。

2、格式控制符

1)%d: 输出一个十进制的整数: int a = 4; printf(“%d”,a); 输出结果 

2)%f: 输出一个单精度实型数据,默认有效位精确到小数点后六位。小数点后多于六位的取前六位,不足六位的补0float a = 2.34f; printf(“%f”,a); 输出结果为 2.340000 

3)%c: 输出字符。char a = ‘a’;  printf(“%c”,a); 打印结果 a。  

4)%s输出字符串。char *str=”lloveyou”;

printf(“%s”,str),打印结果:lloveyou

5)%p: 输出变量地址。float a = 3.1f; printf(“%p”,&a);则打印结果为:0x..... 

6)%ld: 输出长整型数据。printf(“%ld”,strlen(str));

7)printf(“f=%m.nf\n”,f): m为列数,n为小数点后的位数,例:printf(“%3.3f\n”,1.25463);则输出结果为:1.25.

8)printf输出多个字符时,既可以用空格隔开也可以用逗号隔开

9)scanf输入多个字符而控制字符串无分隔符时,要求我们用空格、tab、回车隔开;scanf(“%d%d%d”,&a,&b,&c);则输入类32_5_13;

10)scanf输入混合数据时,要避免用空格,因为空格也是个字符,会被char类型的变量接收;在输入输出时加相同的分隔符既可避免。

11)%*格式控制符(如d表示跳过一个字符(跳过一个整型数)。

12)scanf中不要使用\n.

            

       

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值