摘要:
1.关于数组和数组指针 数组的名字默认是常量指针,值不能改变的,例如 int a[]={1,2,3,...},这个a的类型时int *,所以如果有int *p,那么a=p是合法的,其他的指针类型,例如char *p=a都是不合法的 2维或者多维数组的指针声明,例如2维数组 int a[12][31],那么声明数组的指针应该是 int (*p)[31],p是一个数组指针,它指向的数组有31个int元素,p的实际类型应该是int**的,所有把int*类型赋值给int**类型时错误的,例如 int a[10]; int (*p)[10]; p=a;//是错误的 正确使用数组指针应该是:... 阅读全文
摘要:
1。函数的调用和番薯返回值是函数指针的声明 定义一个函数指针,例如 int (*fp)(float),这个函数的返回值是Int,参数是1个float类型,调用这个函数的方法是 (*fp)(),还有fp()是对前面的简写 定义一个函数返回函数指针,典型的 是signal函数,用typedef它应该是这样定义的 typedef void (*FUNC)(int); FUNC signal(int,FUNC) 摊开写就是 void (*)(int) signal(int , void (*)(int)) -------> void (*(signal(int,void (*)(int))).. 阅读全文
摘要:
1。运算符的贪心性,匹配最长的运算符,例如 n-->0,从-开始,-是运算符,--是运算符,-->就不是,所以是 n -- > 0,--是 a---b,-是,--是,,---不是,所以a---b=a-- - b a+++++b,从+开始,+是,++是,+++不是,所以a++是单独的,后面是+,再++b,所以a+++++b=a++ + ++b y=x/*p,/是运算符,/*是注释的开始,也是,所以左边的意思是y=x注释开始p,如果写成y=x/ *p,那么就是y=x/(*p)的意思了2. 单引号字符表示一个整形常量,它再ASCII吗表中对应的整数,"huhu" 阅读全文