一直以来,对于c语言的指针就一知半解,数据结构课程多半是用c指针实现的,所以重新学习了一下
代码来源:《啊哈,算法》 人民邮电出版社、中国工信出版集团 啊哈磊著
(一)指针
使用指针的原因:方便版本迭代,假设你设计的程序已经发布或者交付使用,但是你发现要做出新的修改(增加存储空间等等),用指针可以更简单便捷的进行修改。
#include<stdio.h>
#include<stdlib.h>
int main(){
//1.
int a=10;
int *p; //定义一个指针p
p=&a; //指针p获取变量a的地址
printf("%d\n",*p); //输出指针p所指向的内存中的值
//2.
p=(int*)malloc(sizeof(int)); //指针p获取动态分配的内存空间地址
*p=20; //向指针p所指向的内存空间中存入10
printf("%d\n",*p); //输出指针p所指向的内存中的值
return 0;
}
注:1.malloc——分配空间的函数被包含在"stdlib.h"头文件里
2.malloc函数的返回类型是void*类型,表示未确定类型的指针,在C和C++中,void*类型的指针可以强制转换为任何其他类型的指针。我们将其强制转化为整型指针,以便告诉计算机这里的4个