C语言学习:指针

今天重温了C 语言指针相关的内容,简单的说指针也是变量,可以是 int,char,float等类型,指针存储的是地址,下面的这段代码能充分说明指针的特性,记录下:

Point.c 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*Program: pointer.c*/
#include <stdio.h>

int main(void)
{
int number=10;
int *p1=NULL;

printf("nnumber's address: %p",&number);
printf("nnumber's values: %dn",number);

p1=&number; /*Store the address of number in pointer*/

printf("npointer's address: %p ",&p1); /*Output the address*/
printf("npointer's values: %p",p1); /*Output the value (an address )*/
printf("npointer's size: %d bytes",sizeof(p1)); /*Output the size*/

printf("nvalues pointed to: %dn",*p1);

return 0;
}

编译并执行

1
2
3
4
5
6
7
8
9
10
[pg92@redhatB point]$ gcc -o points points.c
[pg92@redhatB point]$ ./points

number's address: 0xbf865bac
number's values: 10

pointer's address: 0xbf865ba8
pointer's values: 0xbf865bac
pointer's size: 4 bytes
values pointed to: 10

备注:指针 p1 本身的地址为 0xbf865ba8,它存储的值为 0xbf865bac, 这个值正是整形变量 number 的地址。

指针用法图


备注: 这个图能形象的说明指针。

参考

C语言入门经典(第四版)

最后推荐和张文升共同编写的《PostgreSQL实战》,本书基于PostgreSQL 10 编写,共18章,重点介绍SQL高级特性、并行查询、分区表、物理复制、逻辑复制、备份恢复、高可用、性能优化、PostGIS等,涵盖大量实战用例!

购买链接:https://item.jd.com/12405774.html

PostgreSQL实战
感谢支持!
0%