随笔分类 - 【C Program】
C Program
摘要:一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表)int *f(x,y);首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。表示:float *fun();float *p;p = fun(a);注意指针函数与函数指针表示方法的不同,千万不要混淆。最简单的辨别方式就是看函数
阅读全文
摘要:int *p[3]和int (*p)[3] 的区别,举例说明一下.int *p[3] p是一个数组,此数组有3个元素,每个元素都是int*类型,也就是指向整型数据的指针类型。int a=10,b=20,c=30;int*p[3]={&a,&b,&c};而int(*p)[3]中的p是一个指向数组的指针,此数组有3个int类型的元素。例如:int a[3]={1,2,3}; 那么p就是指向这个数组a的指针。int(*p)[3]=&a; // 这里赋值一定要用取地址符号。也就是取数组a的地址。不可以这样赋值: int(*p)[3]=a; // error :类型不兼容
阅读全文
摘要:最近的C语言课在教字符串,貌似N多同学搞不清楚单引号和双引号的区别,有人还以为在C语言里用哪个都可以...其实C语言中的单引号和双引号含义是一点也不一样滴...1、含义不同。用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。而一般我们的编译器采用的都是ASCII字符集。因此's'的含义其实和十进制数115的含义是一致的。而用双引号引起的字符串,代表的是一个指向无名数组起始字符的指针。2、大小不同。用单引号引起的一个字符大小就是一个字节。而用双引号引起的字符串大小是字符的总大小+1,因为用双引号引起的字符串会在字符串末尾添加一个二进制为0
阅读全文