C语言之指针

指针是C语言学习一个重要的概念,它极大的方便了C语言编程,用好了指针可以帮助我们编程,但是同时指针也是饱受争议,因为指针的使用很容易出错,所以在一开始学的时候就弄懂有关指针的知识点是必要的。

那么指针是什么呢?其实指针也是一种变量,和其他类型的变量一样,也是存储数据的,只是在指针变量里面存储的是一个内存的地址,可以通过解引用来获得这个地址真正的里面的东西。32位计算机的内存大小是4G,所以要能标示完全4G大小的内存这个地址的长度最小是32位,所以在32位机器上指针的大小是4个字节,也就是32位。

1、一级指针
int i = 10;
int *p = &i;
p就是一个指向一个int型数据的指针,*p就是找到p中存放的那个地址所代表的数据,也就是i的值。
这里写图片描述

2、二级指针
int i = 10;
int *p = &i;
int *pp = &p;
pp就是一个二级指针,它是一个指向指针的指针。
这里写图片描述

3、字符串和指针
C语言中没有字符串变量,但是有字符串常量和字符指针。在C中去找到和定位一个字符串就用到字符指针。
char *str = “Hello World!”;
str就是一个字符指针,指向的是一个字符串(字符串内容不可修改),它的内容是字符串第一个字符的地址也就是‘H’的地址。指针str存在于内存的栈区,而字符串常量“Hello World!”存在于内存的文字常量区(在内存中只有一份)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值