![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
micky__
这个作者很懒,什么都没留下…
展开
-
C语言指针相减
C语言的指针可以相减的,但是不能相加。#include<stdio.h>int main() { char arr[] = "abcdefg"; char *p1 = arr; char *p2 = arr; p2 += 6; printf("%d\n", p2 - p1); while (1);}运行结果为6,由此可以得出结论,在同一块内存空间中,指原创 2015-07-12 10:45:06 · 1916 阅读 · 0 评论 -
函数指针
//声明一个函数类型 typedef void (MyTypeFunc)(int a,int b); //MyTypeFunc *myfuncp = NULL;定义一个函数指针 这个指针指向函数的入口地址 //声明一个函数指针类型 typedef void (*MyTypeFunc)(int a,int b);//声明了一个指针的数据类型 //MyTypeFunc fp = N原创 2015-07-27 14:51:20 · 314 阅读 · 0 评论 -
逗号运算符
1.逗号运算 在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。 例如: int a1,a2,b=2,c=7,d=5; a1=(++b,c--,d+3); a2=++b,c--,d+3; 对于给a1赋值的代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是(d+3)的值,为转载 2015-07-27 16:15:04 · 479 阅读 · 0 评论 -
用指针操作二维数组
#include<stdio.h> int main() { int a[3][5]; int(*p)[5]; p = a; int i = 0, j = 0, tmp = 1; for (i = 0; i < 3; i++) { for (j = 0; j < 5; j++) a[i][j]原创 2015-07-14 16:11:05 · 453 阅读 · 0 评论 -
利用递归逆序输出字符串
假设有一串字符串数组"abcdefg",如何让其逆序输出? void string(char *str) { if (*str != '\0') { string(str+1); } printf("%c ", *str); } 以上函数就实现了逆序输出字符串,结果是"gfedcba";原创 2015-07-17 16:35:53 · 10673 阅读 · 0 评论