C语言中的指针之数组和字符串

   C语言最大的特色便是指针的引用。很遗憾,指针一直是我的弱点。如果这么算起来的话,那么我应该算是不懂C语言的人。

   工作这么多年,说起这个还是很惭愧的。

   C语言中的指针引用,最让人疑惑(或者是我最疑惑)便是字符串与数组指针的引用。

   定一个字符串:char *ptr = "I am shamed".这种做法是正确的。

   因为字符串"I am shamed"把头指针给了ptr,这到是无可厚非。

   而让人疑惑的便是%s的打印,只要给头指针便能打全。真是神奇。

   再说一例:

int open_proc_file(char *filename)
{
    FILE fd;
    fd = fopen(filename, "r");
    fclose(fd);
    return 0;
}

        调用时只要使用open_proc_file("/tmp/tmp.txt)即可。实际便是字符串指针的传递。即在实参中把/tmp/tmp.txt的指针给形参filename.最终到fopen时,仍然是字符串的头指针。

  而fopen的第一个参数,要的便是字符串的头指针。

  真是神奇的C语言呀。

  而对于数组,只要记住一条,那便是定义一个数组buf[20],而buf就是指数组的头指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值