C语言指针详解(不会打我)

1.指针介绍
首先想学好C,最重要的就是看指针和内存管理这两部分有没有学好,你可能听别人说过什么指针很难,其实对于初学者而言 大部分人其实是被这样的言论给唬住了,我告诉你其实指针一点也不难!!!
C语言指针详解(不会打我)_第1张图片
众所周知 int 类型变量是整数 char 类型的变量是字符,而指针的变量类型就是地址,也有人这么说过:*就是取地址符&的逆运算,之后会具体说明。

如: a=&b; 其含义就是把b 的地址赋给a ,a就是一个指针变量;也就是我们经常听到的 “ a指向b ”。

2.关于*运算符

想要彻底搞明白指针,我们就得知道 * 这个运算符,除了众人皆知的乘法运算符之外;他在指针这里我们叫他 间接运算符无所谓他叫什么,其实就是在装x,搞懂什么意思就ok),他可以找出其指向变量的值(不理解没有关系,后面会慢慢明白)。 其实C语言中*有九种用法,在此就不一一赘述,感兴趣的同学可以了解一下。

还是用上面的那个例子:

	a=&b;     //把b 的地址赋给a
	/*之前我们说过*就是取地址符&的逆运算*/	
	*p=a;

在这里 b 就是一个指针变量(要提前创建哦), b 里面其实储存着 a 变量的地址,间接运算符 p 顺着指针变量 p 中的地址找到了 a变量的值。现在回过头去就明白了 间接运算符的定义了。
C语言指针详解(不会打我)_第2张图片
坚持就是胜利

3.学习创建指针

如何声明一个指针,记住这一句话就ok :声明指针必须制定所指变量的类型。我们已经对 int char float 等的声明已经轻车熟路了。其实指针的声明也很简单,主要取决于所指变量的类型。

	int *a;     //所指类型为整型的指针变量a
	char *b;    //b是指向char变量类型的指针
	double *c;  //c是指向double变量类型的指针

在这里 * 声明的变量为一个指针,上面的 *a则为 int 型; *b为 char 型。
a 对于我们来说就是就是一个指针变量的名称,但是对于计算机而言他的名称其实是 a 的地址。

写在最后:很欣慰你看到了最后,初来乍到创作不易,如果对你有用请点一下下赞,之后再出进阶版,重在消化,大家共同努力,加油!!!

你可能感兴趣的:(c语言,指针)