本文目录一览:
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);
}
一楼说的是对的,回答问题是并行的,早知道他答了,我就不回答了,还有你的数值交换还存在很大的问题。你自己看看吧。