【C语言】第一章·第九节初识指针-创新互联

相信很多小伙伴们学习C语言时候对指针的概念都是模糊的吧,哈哈哈哈哈哈不才也是一样,所以在深入学习指针或者C语言时候咱们要弄明白什么是指针

目前创新互联已为上千多家的企业提供了网站建设、域名、网页空间、网站托管维护、企业网站设计、秀峰网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

正文开始


首先我们要知道指针是什么?

指针就是地址

在C语言中,变量等一切物体都有存储字节的空间(现默认一个空间为一个字/8个bit),每一个空间都有地址,而指针存储的就是地址。指针需要多大空间,取决于地址需要多大空间。

而指针存储的就是地址。指针需要多大空间,取决于地址需要多大空间。

而指针存储的就是地址。指针需要多大空间,取决于地址需要多大空间。

重要的事情说三遍!!!

有的小明就会问了,不才你怎么知道变量等一切物体都有存储字节的空间呀,我不信

那我们就举下面例子来说明

int main(){
    int a = 10; //a在内存中要分配空间的 - 4个字节
    printf("%p\n",&a);//%p是专门用来打印地址  
    return 0;
}

那么在这个函数输出的一大串内容就是a的地址

譬如上面的0097FA34就是变量a的地址

指针变量的声明

在了解指针变量的声明前,咱们先了解 '&'这个单目操作符。

‘&’单目操作符名为:取地址符。用于取出后面紧跟的变量地址如上面的"&a",取到的是a变量的地址。

咱们通过例子来理解怎么定义指针

例1:

int main(){
    int a = 10; //a在内存中要分配空间的 - 4个字节
    printf("%p\n",&a);//%p是专门用来打印地址  
    
    int *pa = &a;//pa是用来存放地址的,在C语言中pa就是指针变量
      //上面有*说明后面变量为指针
    // *说明了pa是指针变量,int说明了pa执行的对象是int类型
    return 0;
}

在上面例子中 *说明了pa是指针变量,int说明了pa执行的对象是int类型!

例2:

int main(){
    char ch = 'w';
    char *pc = &ch;//pc是用来存放地址的,在C语言中pc就是指针变量
      //上面有*说明后面变量为指针
    // *说明了pc是指针变量,char说明了pc执行的对象是char类型
    return 0;
}

在上面例子中 *说明了pc是指针变量,char说明了pc执行的对象是char类型

指针的初步使用

在了解指针变量的声明前,咱们先了解 '*'这个单目操作符。

‘*’单目操作符名为:解引用操作符。可以通过地址找到对应的存储空间进行修改内容。

咱们也是通过例子来理解如何初步的使用指针

例1:

int main(){
    int a = 10;
    int *pa = &a;
    *pa = 20;// *pa就是通过pa变量的地址找到a变量 即把20赋给了a
    
    return 0;
}

下面这张图作为辅助理解

蓝色线为第3行的运行步骤:第一步 把a 的内存提取出来,第二步 把a的内存赋值存入pa的指针变量中

紫色线为第4行的运行步骤:第一步用 '*' 解引用操作符来通过pa变量的地址找到a变量, 第二步进行赋值 *pa = 20 即把 a改为20。内存中存储的是二进制,补码储存。

总结(不才经典大白话)

关于指针的定义和细节咱们用一个例子来总结

int main(){
    int a = 10;
    //下面我们开始定义一个关于a的指针
    //int pa  要怎么和系统说明咱这个pa是指针呢?
    //int *pa 在pa前加一个'*'说明pa为指针
    int *pa = &a; //即为在pa中存了a的地址
    *pa = 20; //因为pa是一个地址所以在前面加了'*','*'是解引用操作符,解开了pa的地址,所以*pa就为a。那么这代码等同为:a = 20。

    return 0;
}

指针就是地址:指针其实是个变量(指针变量),这个变量存放的是地址,所以称为指针就是地址。(存放在指针中的值都被当成地址处理)。

int a = 10; // a是整形变量

int *p = &a; // p是指针变量

指针的大小:在32位平台是4个字节,在64位平台是8个字节

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

当前标题:【C语言】第一章·第九节初识指针-创新互联
文章地址:https://www.cdcxhl.com/article20/dddsjo.html

成都网站建设公司_创新互联,为您提供网站收录标签优化外贸建站微信小程序虚拟主机服务器托管

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化