为您找到"

C语言 为什可以这样赋初值 int *p=&a;*p不是指的p所指的位置的内容吗...

"相关结果约100,000,000个

C语言int a=100, *p=&a为什么打印了来的是100呢

int a=100, *p=&a;//p=&a,把a的地址赋给指针变量p,那就表示指针变量指向了变量a printf("%d",*p);输出*p,意思是输出p所指变量中的内容,也就是输出a变量的内容,即100

C语言指针,int a=1; int *p; 其中p=&a和*p=&a有什么区别?p的值是否相 ...

int *p=&a ; 这是很标准的,把a的地址个p指针变量。int *q;q=&a;这也是很标准的。定义一个指针变量,然后将a的地址赋值给她。int *r; *r=&a; 首先r是个指针变量,但是r指向内存中那个单元格呢?r没有赋初值就开始用了。这是很严重的。r是个游离态的指针。 *r表示取出r对应的那个地址...

c语言指针引用数组元素,从p=a开始解释下此程序

1. p=a; //使int*指针p指向数组a的首元素,即a[0]的地址—&a[0]。2. 第一个for循环语句,就是通过指针p来对数组a的各个元素赋初值,*p的意思就是获取指针p所指向的内存单元的值,初始就是对a[0]赋初值i,*p++=i,等价于:p=i; //对p指向的当前数组元素赋值,等价于a[i]=i...

c语言中定义指针变量时,赋值和赋初值有什么区别?

赋初值,也就是初始化,只能在定义的时候操作,形式为 type var_name = init_value;其中=init_value就是赋初值了。赋值,是在定义后,改变变量的值,形式为 var_name = value;二者的效果是类似的,都是把变量值改变。但在C语言中,编译出的代码有所区别。其中赋初值的效率会更高。

C语言中*s=&h是什么意思?在线等!简单问题!!

如果变量定义是 int h=123,*q,**s=&q;s=&h;printf("%d\n",**s);就是完全正常的。

关于printf函数 ,当参数是指针变量时,要不要带*号

这需要根据你的printf函数的参数来决定。例一:printf中的%d参数要求你提供一个整数,而p是个指针,它指向的是整数,这时用*p表示p指向的整数。如果你用p的话,将把指针地址取值(程序中是将变量i的地址编号)进行输出。例二:printf中的%s参数要求你提供一个指针,而p就是一个指针变量,可以直接写变量...

C语言问题,很简单的,请赐教!

有两个问题,第一:在定义指针的时候,要确定指针的类型,即指针所指向得数据的类型。int型指针只能指向int型数据或int型指针。而,p=q语句中,你把char型指针地址付给int型指针显然就不对了。第二个问题类似,*p=*q语句中的实质是,你要把指针q指向的值(字符型值)付给p指向的用来存放整形...

C语言中*p=*p1*(*p2);是什么意思

举个简单的例子:int *p = (int *)malloc(sizeof(int)); // 申请内存空间 地址为0x002d14f8int *p1 = (int *)malloc(sizeof(int)); // 申请内存空间 地址为0x002d1538int *p2 = (int *)malloc(sizeof(int)); // 申请内存空间 地址为0x002d1578*p1 = 2; // 赋初值(...

C语言二维指针 有一个二维指针**a,如何给它赋初值。

不建议直接给指针赋值,除非是NULL;二维指针也是指针,如你所写,a只不过是指向另一个指针的指针,归根结底还是指针,不因为它是多维的就会有什么变化;例如:int** a = NULL; //赋初值为空,这样做绝对是好习惯 或者:int a;int* b = &a;int** c = &b;再或者就是个二维数组:int a[...

C语言:假如int *p,k;那么 *p=k与p=&k 有什么区别么?

在主函数中调用fun把整数k的地址传递进去...后面的*k=pos则是把pos的值赋值给main里面的k,这样printf("%d,d\n",k,a[k]);输出的k的值才能是pos的值,a[k]才有意义而你将*k=pos改成k=&pos等于是int k=&pos把一个地址传递给整型变量...所以出错了......
1 2 3 4 5 6 7 8 9

相关搜索