c语言指针排序小程序,小蚂蚁学习C语言(16)——C语言指针——经典指针小程序和常犯错误...

经典指针程序,互换两个数字

# include 

void swap(int * p, int * q)

{

int t;

if(*p 

{

t = *p;

*p = *q;

*q = t;

}

return;

}

int main(void)

{

int i = 5;

int j = 7;

swap(&i, &j);

printf("i = %d\nj = %d\n",i ,j);

return 0;

}

常见的小错误

# include 

int main(void)

{

int i = 3;

int * p;

int * q;

p = &i;

// *q = p  //error 语法编译出错

// *q = *p    //error

p = q;    //q是垃圾值,q赋给p,p也编程垃圾值

printf("%d \n",*q);

/*

q的空间是属于本程序的,所以本程序可以读写q的内容,

但是如果q内部是垃圾值,则本程序不能读写*q的内容

因此此时*q所代表的内存单元的控制权限并没有分配给本程序

所以本程序会出现运行错误。

*/

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值