linux-c编程从初学到精通
旺仔OO糖
~
展开
-
指针数组,数组指针,指向指针数组的指针
问:Char RollNum[30][4]; char (*p)[4]; char *q[4] char **r = q;RollNum、p、q、r三者异同, 怎么区分。 答: RollNum 是二维数组名,即是数组首行的地址,相当于 &RollNum[30] (*p)[4]是一个指向包含四个元素的一维数组的指针变量,如果RollNum作为原创 2017-07-25 14:55:11 · 780 阅读 · 0 评论 -
查找字符串中子字符串出现次数
在学linux c过程中,遇到一个问题,就是查找一个长的的字符串中子字符串出现的次数。例如查找adbcabcabc中 abc 出现的次数。 自己写的时候遇到了一些小问题,折腾了一下午写出来的程序都有瑕疵,在csdn上找这个程序代码,没有发现一个正确的程序,都是有瑕疵的。 终于写出这个程序,很完美的解决了一些小bug,甚至可以测试一些很变态的例子,例如在 ababababba中查找 aba 出现原创 2017-07-29 21:42:15 · 1771 阅读 · 2 评论 -
数组指针,字符串指针的几种定义方法
一:数组指针的定义方法int a[10] = {1,2,3,4,5,6,7,8,9,0};int * p;p = &a[0]; // 等价于p = a;2.int a[10] = {1,2,3,4,5,6,7,8,9,0};int * p = a; //定义指针时直接赋值;二:输入字符串的方法1.直接把字符串输入到字符数组char str[] = "I love China!";p原创 2017-07-25 10:15:59 · 3821 阅读 · 0 评论 -
打印系统当前时间
代码:#include<time.h>#include<stdio.h>int main(){struct tm *t;time_t tt;time(&tt);t=localtime(&tt);printf("%4d年%02d月%02d日 %02d:%02d:%02d\n",t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm原创 2017-08-12 15:47:05 · 1597 阅读 · 0 评论 -
关于数组地址问题
c语言中“指针”是算是比较难的一个问题,而“指针”就是“地址”,知道数组的地址问题,才能在用指针数组的时候得心应手。 下面是一段代码#include <stdio.h>int main(){ int a[3] = {1, 2, 3}; int b[2][3] = {1, 2, 3, 4, 5, 6}; printf ("%p\t%p\n", &a, &a + 1);原创 2017-07-21 11:09:19 · 833 阅读 · 0 评论 -
文件I/O与标准I/O
返回值汇总:printf的四种输出方式 ★1、遇到 \n 2、遇到scanf() 3、fflush(stdout) 4、缓冲区满函数fefo()feof()函数可以检查到文件读写位置标记是否移到文件末尾,一句话概括就是判断文件有没有读完。读完了fefo(fp)返回值为1,否则为0。用文件I/O编写拷贝文件程序代码:/*******************原创 2017-08-13 19:58:09 · 472 阅读 · 1 评论