c语言指针有什么用处

2022-11-25 投稿:黄丽昆 分享

所有变量值保存在内存中,而每个内存都有一个地址,所谓地址就是一个整数编号,如同门牌号码用于定位(专业术语叫寻址),一个地址对应一个字节(8bit)的内存单元。

如今的编译器,一个整数int类型的值占用32位bit,也就是4字节,编译器将第一个字节的编号定义为该整数的地址,由于保存地址的变量就像一个箭头指向某地址,而称为指针变量。

int a =10; //定义一个整数变量a,对其赋值10

int *p =&a;//定义一个指针变量p,对其赋值a的内存地址,&符号意思为引用跟随其后的变量地址。

cont <<a<<end; //输出 a的值:10

cont << p << end ;// 输出p的值:XXXXX 其实为a的地址,该地址由编译器和运行时确定。

cont << *p <<end; //输出p指向的地址中的值:10,也就是a的值,*星号放在变量前面意思就是取该变量中的地址所指内存中的值。

读取过程为:p的值(a的地址)->寻址->取值

由于指针是一个变量的首个字节的地址,所以要告诉编译器被指地址包含连续多少个字节,因此指针也有类型。比如上面例子中声明了p指针是个整数指针,这样编译器知道p指向一个4字节的内存块。

你可以将指针变量看做一般的整数变量来理解,用来保存一个整数(地址是个整数),只是,该整数代表着某地址,在这里是a的地址。

在C/C 中很灵活,但是也很危险,也很难学,如果指针指向错误的地址会引起程序崩溃,因此在C#中已经被微软封装了,但内部还是有指针的。

如果有必要,C#中也可以使用指针,使用非安全代码,在项目生成选项卡中勾选“允许非安全代码”,然后就可以使用指针了,不过不建议这么做。

unsafe

{

int a = 10;

int* p=&a;

}

#c语言指针有什么用处#相关文章

计算机编程入门c语言

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。由于C语言简单易学,已经成为学习编

0.2万人浏览 C语言c语言c语言入门

c语言函数由什么组成

一个C程序由一个或多个函数组成,一个C函数由若干条C语句构成,一条C语句由若干基本单词组成。所有C函数的结构都包括三部分:函数名、形式参数和函数体。在C程序中,主函数名字是固定的,其他的函数名则可以根

0.2万人浏览 c语言c语言函数C语言

c语言在电脑上怎么下载

C语言的运行环境不算太复杂,跟其他语言比起来可以说是很简单了,而C语言的编程工具也有很多的,比如DEV-C,要想下载的话,直接在官网上下载就行了。

0.2万人浏览 C语言c语言电脑下载

c语言贪吃蛇最简单代码手机

#include<stdio.h>#include<time.h>#include<windows.h>#include<stdlib.h>#defin

0.2万人浏览 C语言c语言c

c语言怎么定义函数并调用

你首先需要知道这个函数需要什么参数,举个例子来说一个函数的函数原型是 inta(intx),那么你在使用它的时候它的时候就要注意 要传递给他的是一个int类型的变量,它会返还给你一个int类型的变量例

0.2万人浏览 C语言调用函数函数调用

手机敲代码的软件C语言

如果你是指开发的话,那是没有的visual studio暂时只有windows以及MAC版本,所以debug只能在这两个IDE上做但如果你是指的编码的话,那其实只要能输单词就是可以写的,只是没有智能提

0.2万人浏览 C语言c语言c

c语言基本语句

5类:1、控制语句,完成一定的控制功能;2、函数调用语句,由一次函数调用加一个分号构成一个语句;3、表达式语句,由一个表达式构成一个语句,最典型的是,由赋值表达式构成一个赋值语句;4、空语句,只有一个

0.2万人浏览 C语言c语言基本语句