您的位置:

c语言指针填充初值,c语言指针赋初值

本文目录一览:

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

不建议直接给指针赋值,除非是NULL;

二维指针也是指针,如你所写,a只不过是指向另一个指针的指针,归根结底还是指针,不因为它是多维的就会有什么变化;

例如:

int** a = NULL; //赋初值为空,这样做绝对是好习惯

或者:

int a;

int* b = a;

int** c = b;

再或者就是个二维数组:

int a[ 10 ][ 10 ];

int** b = a; //其实a就是一个二维指针

c语言文件指针赋初值

main函数传递给fjudichw函数(这函数名称真别扭)的函数指针,运算结果其值不会自动带回。

请复习函数参数传递方式的章节。

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

赋初值,也就是初始化,只能在定义的时候操作,形式为

type var_name = init_value;

其中=init_value就是赋初值了。

赋值,是在定义后,改变变量的值,形式为

var_name = value;

二者的效果是类似的,都是把变量值改变。但在C语言中,编译出的代码有所区别。其中赋初值的效率会更高。

C语言指针赋初值问题

int

*p1=0,*p2=0,*p3=0;这里赋的是地址,指针都指向地址为0的空间就是空指针,没有实体存在,所以后便全错了。

#include

#include

void

main()

{

int

*p1=(int

*)malloc(sizeof(int)),*p2=(int

*)malloc(sizeof(int)),*p3=(int

*)malloc(sizeof(int)),*c;

*p1=0;

*p2=0;

*p3=0;

printf("请输入任意三个整数(中间以空格隔开:)");

scanf("%d

%d

%d",p1,p2,p3);

if(*p1*p2)

{c=p1;p1=p2;p2=c;}

if(*p2*p3)

{c=p2;p2=p3;p3=c;}

if(*p1*p2)

{c=p1;p1=p2;p2=c;}

printf("%d,%d,%d\n",*p1,*p2,*p3);

}

一楼说的是对的,回答问题是并行的,早知道他答了,我就不回答了,还有你的数值交换还存在很大的问题。你自己看看吧。