猫史档案馆


【C语言】指针1

用户:CaTionalCaTional查看:9 回复:5 评论:9 创建时间:2021-03-20T21:02:14


C语言里面貌似就指针最全能。又能模拟类,又能模拟对象。反正对于我来说OOP难以理解。

首先可以认为系统的内存是一格一格的。每格内存都存储着数据。每格内存都有对应的内存地址。内存地址可供程序准确的储存和读取你想要的内存。

C语言的优势之一就是可以直接操作内存。

定义指针方法

type *namepointer;
//示范代码
#include<stdio.h>
int main()
{
    int a;
    int *a_p;
    a_p = &a;
    printf("变量a的内存地址为%p\n",a_p);
    return 0;
}

center_image

内存地址已经输出了。但是我们仅仅只是获取了变量地址。更高深的玩法还有指针函数,指针数组,内存控制(控制变量长度)

但其实我刚才的做法不太对。指针不再需要用的时候最好指NULL。防止释放内存后出现空指针的情况。(后续会讲到申请内存的调用会出现这个)

//将指针指到NULL的方法
name_pointer = NULL;

除了要引用(这里使用引用这个词,是因为指针所指内存的数据是不可以在指针里变的)内存地址还要引用内存里的数据

//输出引用内存数据的方法
printf("%type",*name_pointer);

center_image

 

OK,这就是对C语言指针最基础的运用了。本人会争取快速的更新(尽量一年一更)

如果你觉得不错或者有疑问的话,欢迎留言


回复

上一页1 页 / 共 1下一页
CaTionalCaTional

点赞0


评论


CaTionalCaTional

dd

点赞0


评论


AlcalaAlcala

大佬能发一个帖讲一下SPFA和dijkstra吗,我今天刷题时很懵

点赞0


评论


­­­­­­­­­­­­­­

哇,大佬诶,我就c不会,c#会一点

点赞1


评论


CaTionalCaTional

防止有人问我开发环境,先声明

OS:fedora

clang+gdb+VScode

点赞0


评论