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语言的编程软件其实非常多,既有IDE环境也有代码编辑器,初学的话,建议还是以掌握基本功为准,不需要什么高级功能,轻便灵活,好使用就行,下面我简单介绍几个不错的

0.2万人浏览 c语言C语言c语言编程软件

c语言编译器电脑版有哪些

1、 visual c6.0 (win8系统下不好用,C/C)-Microsoft Visual C;2、 visual studio (2005、2008、2010、2012、2013)- Micr

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

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

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

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

电脑编译c语言的软件

使用Xcode软件。Xcode是一个苹果系统上的集成开发环境(IDE),就是说用Xcode就能编写C语言程序,并编译运行。也能开发ios程序等,是一种软件。在windows上类似这种能编c语言的还有微

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

c语言编辑器哪个好用

我是宇宙君,干了20多年开发,我来说说。C的开发从根本上来说你需要三个东西:编辑器,C编译连接器,目标代码调试器。我们分开来说说。1、编辑器(或IDE):原则上说你可以用任何一种纯文本编辑器来编辑代码

0.2万人浏览 c语言C语言

c语言入门自学

C语言是面向过程的,而C是面向对象的 C和C的区别:  C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(

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

c语言贪吃蛇需要什么知识

#include <bits/stdc.h>#include <windows.h>#include <conio.h>using namespace std;vo

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

c语言求最大公约数和最小公倍数 函数调用

#include<stdio.h>int main(){int p,r,n,m,temp;printf("请输入两个正整数n,m:");scanf("%d,%d,&

0.2万人浏览 C语言c语言最大公约数和最小公倍数