栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > C/C++/C#

c语言指针笔记

C/C++/C# 更新时间:发布时间: 百科书网 趣学号

指针含义:指针就可以简单的理解为地址。就是说,可以通过它找到以它为地址的内单元,即信息。
C语言中的地址包括位置信息(纯地址)和它所指向的数据的类型信息。
所以,指针得含义就包含两个方面:一是以存储单元编号表示的纯地址,二是它指向的存储单元的数据类型(int,char,float等)

而在C语言中,对变量的访问有两种方式。
(1)直接访问:按变量名进行访问
(2)间接访问:通过地址进行访问,地址则是变量存在内存中的数的地址。

而指针和指针变量是两个概念,指针是一个地址,指针变量是一个存放地址的变量

例子:

int b =0
int*b=&b

其中*为指针符,&为取地址符。

指针的作用:定义了一个指针变量后,我们便可利用指针求得变量的地址,以及地址上的数。

int*p;
p=&a;
printf("%d", *p); //以整数形式输出指针变量指向的变量的值,即a的值;
printf("%o",p);//以八进制形式输出指针变量p的值,如果p指向a,即输出a的地址。

其中对于地址的理解:每个变量的值都在电脑的储存中,那么每一个值都有它具体唯一的地址。电脑的储存可查,表示为多少位2进制的数,而以上例子中用八进制表示变量的地址,而三位2进制的数可表示一位8进制的数,电脑输出的变量的地址与其内存是相关的,不会大于,而电脑也是以此方式把储存的值传出。

应用指针:

 

#include 


void changeVariable(int* address) {
    *address = 10;}

int main()
{
int x = 0; // 定义了一个变量
    int* c = &x;
    // &x 是不是得到了地址
    
    
    changeVariable2(&x);
    printf("%d", x);
    return 0;
}

运用指针来改变数值。

1,首先我们定义一个函数,表示将一个指针变量输入,通过函数我们会改变该变量地址上的值。

2,然后我们应用这个函数,首先定义一个变量,然后我们取的x的地址将其等同于int*c,在将这个指针变量输入,我们便改变了x的地址上的值,也就是根本上的改变了x的值。

下面也可看一个错误示范:

#include 


void changeVariable(a) {
    a = 10;
}

int main=0;
{
int x = 0;
    changeVariable2(x);
    printf("%d", x);
    return 0;
}

此时我们会发现输出的x还是为零,而并不是10。

在这里我们可以理解为电脑自动复制了一个x的值,将其投入函数进行运算,但x本身地址上的值并没有受到影响,但我们最后输出的x 的值,电脑会认为是x的地址上的数。这也是为什么我们要运用指针变量的原因。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/296246.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号