您当前的位置: 首页 >  c语言

111辄

暂无认证

  • 2浏览

    0关注

    91博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

指针变量(C语言)

111辄 发布时间:2020-03-10 18:24:16 ,浏览量:2

1.首先要明白,变量储存常量,(变量之所以叫变量就是因为其中储存的常量是可以变化得),如:

int a; a=10;

其中a为变量,10为常量,a储存了10

而指针变量,也储存常量(即其它变量的地址,也叫作指针)

2.为将指针变量和普通变量区分,加了‘ * ’,例如:

char* p;
p=&a;

其中, ①char为指针变量的基地址,此处a变量类型只能是char ②星号只是类型的一部分,p才是变量名。因此,a的地址&a是赋给p而不是p ③一般写char,将星号紧紧接在char后面 ④或者也可以写为 char* p=&a; ⑤多个变量 如果 char*p1,p2; 则只定义了p1为指针变量,p2为普通的char变量 而当 char *p1,*p2; 则p1、p2都为指针变量 同时赋值也行 char *p1=&a,*p2=&b; ⑥可以用“钥匙”——‘ * ’,来提取指针变量所指向变量的值

a=233;
printf("%c",*p);
printf("%d",p);

输出结果为

233
6487623

⑦支持指针变量进行加减运算 两指针变量相减的结果为 两个指针所指向的元素的地址的偏移距离

printf(“%d\n”,p);
printf("%d\n",++p);
printf("%d\n",p+1);

输出结果为

6487623
6487624
6487625

“+1”是a下一个元素的地址,故跨越了1Byte; 如果为int a;int*p=&a; 则输出结果会变为会为

6487620
6487624
6487628

因为此时a的下一个元素的地址,跨越了int型的4Byte

关注
打赏
1648114069
查看更多评论
立即登录/注册

微信扫码登录

0.0417s