C语言的学习日志1.2

一.指针的使用案例:

(1):函数中返回多个变量,例如:

#include
void minmax(int a[], int len, int *max,int *min);
int main(void){int a[] ={1,2,3,4,5,6,7,8,9,10,14,16,17,21,23,66};int min,max;minmax(a,sizof(a)/sizof(a[0]),&min,&max);return 0;
}
void minmax(int a[], int len, int *min, int *max)
{int i;*min =*max =a[0];for(i=1;i*max) *max= a[i];}
}

(2)函数返回运算状态,结果通过指针返回,例如:

#include
int divide(int a,int b,int *result);
int main(void)
{int a=5,b=2,c;if(divide(a,b,&c){printf("%d / %d = %d",a,b,c);}return 0;
}
int divide(int a,int b,int *result);
{int ret=1;if(b==0){ret=0;}else{*result=a/b;}return ret;
}

二.关于给指针加const

指针是const:表示一旦得到了某个变量的地址,不能在指向其他变量。

例如:int *const q=&i;  q是const

所指是const:表示不能通过这个指针去修改那个变量(并不能是那个变量成为const)

例如:const int *p =&i; *p不能做赋值运算。

区分方式:判断const在*的前面还是后面,在前面则是所指是const,在后面就是指针为const。

Tips:const int a[]={1,2,3,4,5}表示的是const数组,数组本身是个const指针代表的是a这个数组不能指向其他数组,在外面再加一个const就代表的是里面的值也不能发生变化,所以这类数组只能通过初始化赋值。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部