首页技术c语言指针变量(c语言void)

c语言指针变量(c语言void)

编程之家2026-06-08671次浏览

大家好,今天小编来为大家解答以下的问题,关于c语言指针变量,c语言void这个很多人还不知道,现在让我们一起来看看吧!

c语言指针变量(c语言void)

c语言指针变量和普通变量的区别

指针和普通变量的区别,最简单的思考应该按整数的两个不同用法着眼:

整数可以表示序号和数量----数量的概念不必说了,但序号的概念人人都懂但不透彻。

2012表示年----这是序号,它的下一年是2013,即2012+1可得2013,但这里的1是什么?是公元1年吗----是序号还是数量?

2012是今年,2013是明年,两者能相加吗?序号+序号是什么?

指针是什么?指针是严格意义上的序号----存储位置的编号!

所以指针+数量为指针----成立

c语言指针变量(c语言void)

反之指针-指针为数量----成立

指针+指针------不成立

C和C++中源代码级对存储数据的访问有两种方法:按名字和按指针----就象在大街上按名字(类似变量名)或按门牌号(类似地址)访问商店一样。

1、指针变量是变量的一种,指针变量的值是地址(也是整数),普通变量的值是整数、实数或者其他类型。指针变量的主要作用是修改其他函数的局部变量和访问数组。指针变量需要额外的空间存放地址,由于指针变量是间接访问所指对象,所以比起直接用普通变量名字访问所指对象而言,速度稍慢。

2、例如:int a=5; int*p=&a;

指针p是一个整型指针变量,里面存的是一个地址,这个地址是a的地址。通过取值运算符*就可以用p访问a。指针变量使用起来非常灵活,一个指针变量只占四个字节,但是它可以访问结构体,链表,数组等多数据集合,而且在访问这些变量的时候是对内存直接访问,执行效率高。

c语言指针变量(c语言void)

C语言指针基本概念及其指针变量的定义是什么

语言中,指针是一种类型,被称为“指针类型”。指针类型描述的是一个地址,这个地址指向内存中另外一个对象的位置。简单地说,指针表示的是它所指向对象的地址。

1、比较point,*point,&point三者的区别

对于int* point;

point:是指针变量,其内容是地址量。

*point:是指针变量的目标变量,即指针指向的那个变量,其内容是数据。

&point:是指指针变量本身所占据的存储地址。

2、指针与数组

用指针和数组名在访问内存中的数据时,他们的表现形式是等价的,因为他们都是地址量。

数组名表示整个数组的首地址,可以看作是固定地址的指针,不能被赋值。

数组名无须赋初值,而指针在使用前必须赋初值。

3、字符指针和字符串

字符串是一个字符数组,字符串以‘\0’结束。printf函数的%s格式输出字符时,是从给定的地址开始,到遇上第一个‘\0’字符时结束。

对字符指针初始化,是将字符串的首地址赋给指针。

4、指针型函数

所谓指针型函数,即返回值是指针(地址)的函数。

5、多级指针

指向指针的指针(**p)就是二级指针,指向指针的指针的指针(***p)是3级指针。

多级指针类似于间接寻址。

6、指向函数的指针

C语言中的函数名表示函数的首地址,即函数执行的人口地址。

定义形式:[存储类型][数据类型标示符](*指向函数的指针变量名)();

例子: int(*fun)();//指向函数的指针, int* fun();//指针型函数,注意(* fun)括号不能少

7、动态指针

当需要一大片内存的时候,最好使用动态分配。

使用malloc函数:void* malloc(size_t size)。

例子:

int* pn=malloc(10*sizeof(int));

double*pd=malloc(10*sizeof(double));

C语言指针变量的赋值和做函数的参数

1、指针变量的赋值,分为定义时赋值(初始化)和单独赋值,如:

intx;

int*px=&x;//定义时赋值,也称初始化,注意这里的*是跟随int的,即变量px是int*类型变量!实际上的赋值语句是px=&x;

int*py;

py=&x;//单独赋值,将py指向x

*py=10;//这里的*,是引用指针中的数据操作符,*跟随的变量必须是指针类型变量,否则会出错!*py就是x,这里相当于x=10;2、指针变量作为函数的参数时,子函数可以通过指针引用实参地址中的数据,达到修改实参地址中的数据。如:

#include<stdio.h>

voidfunc(inta,intb,int*pmax)

{

if(a>b)*pmax=a;

else*pmax=b;

}

voidmain()

{

inta=2,b=3,max=0;

func(a,b,&max);//这里将变量max的地址传递到子函数,子函数中通过该地址,可以修改max的值,达到子函数结束后,max能带回运算结果的效果。

printf("max=%d

",max);

}

关于c语言指针变量,c语言void的介绍到此结束,希望对大家有所帮助。

姑获鸟御魂搭配(歌留多带什么御魂)c语言函数调用数组 c语言代码大全及其含义