C语言 指针自我了解
在C语言中,指针是一个很有用的东西,作为直接指向内存地址的一个类型,用的好,可以实现函数多返回,构建数据结构等等,理解不到位,哪里错的都不知道。本博文为自身了解,如有错误或指教,请不吝赐教。
在C语言中,定义一个指针模板为
ElemType *元素名;
ElemType* 元素名;(推荐)
*放在两个位置都可以,这样就可以创建一个指针 了。
在c语言中,*和&一般跟随指针出没,其中&被称为取地址运算符,*被称为间接运算符
需要注意的是,使用指针时一般所指向的是内存中存放指向元素的地址,可以通过下面这个例子理解
int main() {
int e = 1;
int* p;
p = &e;
printf("%p\n", &p);//取指针地址
printf("%p\n", p);//取指针指向的地址
printf("%d\n", *p);//取指针指向地址所存放的值
printf("%p\n", &e);//取e的地址
printf("%d\n", e);//取e的值
return 0;
}
当运行后,结果为:
可以看到 p和&e的输出一样,*p和e的输出一样。
B站推荐视频: