您的位置:首页 > 编程语言 > C语言/C++

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

2011-12-23 08:55 267 查看
   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就是指数组的头指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 c file 工作