77问答网
所有问题
当前搜索:
c语言指针的作用
请教
C语言指针
中 &p[0] p+i *(p+i) p[i] 区别 一直感觉很迷茫_百度知 ...
答:
C语言
规定,对所定义的数组,数组名称等价于数组的首地址,即数组第一个元素的地址 & 是计算变量地址的运算符, * 是求出指定地址中的数据内容的运算符 所以,在定义了一维数组p的前提下,&p[0] 指的是数组第一个数组元素的地址,&p[0] 与 p 是等价的 p+i 是数组下标为i的数组元素的地址,...
在
C语言
中能否直接给
指针
指向的数据赋值?为什么?
答:
可以,但int *p;*p=7;这样不行。因为“能直接给
指针
指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。这样才可以:int a,*p=&a;*p=7;实际上就是使a等于了7。
C语言
中的&有什么
作用
?
答:
1、作为“与”运算符。比如1&0=0;1&1=1.2、作为取地址运算符。int *p = &a。p
指针
指向a的地址 3、引用。比如int &a = b。a就是b的一个引用,调用它俩的任何一个结果是一样的,它俩的内存位置一样,就是标示符不一样。比如“李四”又叫“小四”,指的是一个人。
C语言的指针
&符号是什么意思?
答:
& 是取地址符号 在函数传参过程中可以进行修改传过去的地址所指定的值,换句话说就是函数参数里的局部变量与外部的变量是共享的
C语言指针
变量怎么转化为普通类型变量?
答:
赋值语句即可传递数值。
指针
变量: 声明 int *p; 语句中 *p 表示 值, p 表示 地址。普通变量: 声明 int x; 语句中 x 表示 值,&x 表示 地址。include <stdio.h> int A(int a,int *b){ b=a; //赋值语句即可传递数值 return a;} int main(){ int a,b,
c
;a=10;c...
C语言指针
输出题,求运行结果,解释为什么是该结果:
答:
char *a = "PROGRAM";//字符
指针
a指向字符串常量"PROGRAM"的首地址 printf("%
c
%s\n", *a, b+1);//首先输出a指向位置的一个字符,再从b+1处开始输出字符串,直到遇到'\0'//a指向"PROGRAM"的首地址,所以输出的那个字符就是P //b+1
的作用
与&b[1]相同,就是数组b的第二个元素的地址...
c语言
中
指针
前面的星号,什么时候可以省去,什么时候又必须带上呢?_百度...
答:
其实没那么复杂。主要是区别于在声明定义的时候,有的人会迷惑,要不要加 如下 int *p p=&x;//此处明明是p=&x???,好往下看 int *p=&x//其实在声明的时候这样也是可以的。但是这样写定义不明确。我们现在来总结一下,在定义的时候*号,只是一个说明符。意义是告诉你p是一个
指针
,而不是一...
c语言
中
指针
中x为指针变量++*x,*x++,(*x)++,,,像这样的到底是怎么运算的...
答:
++*x等效于++(*x),就是取出
指针
x指向的变量的值,然后自加1。比如:int a=2,*x;x=&a; //*x=2,而x是等于a在内存中地址 ++*x; //此时a=3,x还是指向a x++等效于*(x++),表示x的值(是一个地址)加1,此时x是另外一个地址了,然后取出该地址里的内容,比如:int a[2]={1,2}...
在
C语言
数组
指针
中(++*(pa+1)[1])表示第一行的首地址加一吗?
答:
你这个代码除非pa是二维数组
指针
或二级指针(比如int (*)[]类型或int **),否则如果是一级指针(比如int*)这代码就是错误的。pa为指针,这里小括号优先,先将pa指向的地址+1(后面的pa表示最初地址+1)。原式子变为++*pa[1],这里中括号优先,所以原式子相当于++*(pa[1])。进一步原式相当于...
c语言
中
指针
传递的问题
答:
根本性的认识错误,返回的是野
指针
,前面的正确是侥幸 char a[12][20] 是局部动态变量,函数结束变量就不存在了 如果非要返回的话,改用静态变量 include <stdio.h> include <string.h> char *change(int x);/*函数声明放在外部*/ void main(){ int m;char *p;printf("put into month:\n...
棣栭〉
<涓婁竴椤
8
9
10
11
13
14
15
16
17
涓嬩竴椤
12
灏鹃〉
其他人还搜