C语言 如果我定义了一个指针 int *p 和变量 int p, 他俩之间有什么关系吗?

作者&投稿:木妻 (若有异议请与网页底部的电邮联系)
C语言里int * p和 *p 是什么关系?int *p是整数指针变量 *p是什么~

最怕是指针了,*p是取p的值。

int *p和int* p 是完全相同的。 *号位置不同只是不同的程序员的编码习惯不同

一般int *p 会更普遍一点, 因为后一种写法容易产生误解, 比如下面这个例子

int* a, b;
这里a是指针, b是整数, 但看起来很容易认为a,b都是指针, 写成
int *a, b;
就比较清楚了

int *p;
int a=1;
p=&a;
p定义成了一个整型指针,而a定义成了一个初始值为1的整型变量。
指针是用来保存对应类型的变量的地址的,所以p=&a;的意思是用指针p来保存变量a的地址。

而如果同时定义int *p;int p;会发生编译时错误,因为p重复定义了。

同一个作用域内(比如同一个代码块),不能重复定义变量,所以
int *p;
int p;这样的代码是不能通过编译的
如果是不同的作用域,那么它俩并没有什么关系
若是类似下面的定义:
int a;
int *p = &a;
表示p储存了a的地址,或者说p指向a。


蕉岭县17551672552: C语言 如果我定义了一个指针 int *p 和变量 int p, 他俩之间有什么关系吗? -
倪云川芎: int *p; int a=1; p=&a; p定义成了一个整型指针,而a定义成了一个初始值为1的整型变量. 指针是用来保存对应类型的变量的地址的,所以p=&a;的意思是用指针p来保存变量a的地址.而如果同时定义int *p;int p;会发生编译时错误,因为p重复定义了.

蕉岭县17551672552: C语言中当我定义了一个指针变量的同时,是否就为这个指针变量开辟了一个空间
倪云川芎:int num; int* p1;//只是定义了一个指针变量 int* p2 = #//定义了一个指针变量,没有分配空间,只是指向num的地址而已 int* p3 = (int *)malloc(sizeof(int));//这才是分配了空间的情况只有显示分配空间才会分配空间,只是定义变量不会自动开辟空间的.

蕉岭县17551672552: C语言中 - >是什么意思啊? -
倪云川芎: “->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据. 换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”. 问题中的p=p->next ,...

蕉岭县17551672552: C语言 指针变量 -
倪云川芎: 1)先看变量q的定义:int *q ; q是一个指针(地址),在指针(地址)所指向的位置存放了一个整型值 2)再看答A:q = n; 这个赋值表达式表示,将变量q赋值为变量n,而n的定义为 int n 初值为2 3)答案A错误的原因:按照1)中的定义,q的值只能是地址,而q=n却将整型变量值直接赋给地址.所以是错误的!

蕉岭县17551672552: 在C语言中如果已经知道了一个数据的内存地址,怎样直接从内存中读取出该数据? -
倪云川芎: 要读取内存数据的话,只能通过指针,你只能通过自己定义一个int的指针,让他指向一个内存地址,然后通过*指针的形式读出来. 你说的“我不想通过指针变量来直接输出该int数据的值,而是想直接读取内存的数据,看看和我定义的int数据值...

蕉岭县17551672552: c语言指针的概念 -
倪云川芎: 指针是C语言中广泛使用的一种数据类型. 运用指针编程是C语言最主要的风格之一.利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序.指针极大地丰富了C...

蕉岭县17551672552: c语言中,我定义 int **p,和*a和b,其中*p的含义是什么,我让**p指向*a,*p指向b -
倪云川芎: p 是一个指向整型指针的指针,*p 是一个指向整型的指针, **p = *(*p)是一个整型数 a 是一个指向整型的指针,*a 是一个整型数 b 是一个整型数 所以:**p = *a 可行,但是注意不是”指向“,是将 *a这个值赋值到*p这个地址*p = b 不可行,因为*p是指针,b是整型数

蕉岭县17551672552: C语言中,如何定义一个'指针数组',这个'指针数组'专门用来存放'数组指针'. -
倪云川芎: 指针数组定义int*p[n]; []优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素.这里执行p+1时,则p指向下一个数组元素, 这样赋值是错误的:p=a;因为p是个不可知的表示,只存在p[0]、p...

蕉岭县17551672552: C语言中对指针的理解与举例子 -
倪云川芎: 首先你要知道指针是一个变量,所以它具有普通变量的性质.比如你int a.a是一个变量.当你创建的时候,系统就会分配给他一个地址空间,它的长度是四字节的.你可以给这个变量a赋任何小于4字节的大小.指针也一样.它也有地址.它也...

蕉岭县17551672552: 我是新手,问下C语言指针问题,我明明在代码定义了指针,可是运行错误还是没定义指针,指教下,谢谢 -
倪云川芎: 首先,你scanf的用法是错误的,后面需要用ijk的地址,要加上一个& 然后,就像楼上说的,前面定义的是q,后面用的是p,当然提示未定义.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网