c语言指针调用函数
① c语言函数指针调用
void point(char *p){ p+=3; } //加上void比较好
char b[4]={'a','b','c','d'}, *p=b; //写在同一行,p是char*的
point(p);// 这里传递的是指针,在函数里面改指针是“临时变量”,不是局部变量
//临时对象不会被记录,如果改p指向的内存就可以被记录。
printf("%c\n", *p); // 输出结果为a,因为p是扔指向b[]其实位置
答案为a
② c语言怎么调用excel的数据
1、要使用C语言进行Excel文件的读取,要用到专门的函数,并使用指针做内存位移操作;
2、在执行读取Excel文件的操作时,需要使用函数有:
fopen: 此函数用来打开指定的文件,返回文件指针
fseek:这个函数主要用来进行文件随机定位,通过定位,读取指定位置的数据
fscanf:用来从指定位置获取数据
fclose:用来将打开的文件关闭
3、fseek函数的一般调用格式如下:fseek(文件指针,位移量,起始位置) ;
其中参数位移量,是指重新定位时的字节偏移数,表示相对于基址的字符数,通常是一个长整型数,可以是整形常量,整形表达式等。
4、对于fseek函数的起始位置参数,是指重新定位时的基准点,也就是基址,用整数或符合常量表示,包括:
0:符号常量为SEEK_SET,表示文件开头
1:符号常量为SEEK_CUR,表示文件指针的当前位置
2:符号常量为SEEK_END,表示文件末尾
函数使用如下例: fseek(fp , 10L , 0) ;
③ C语言调用函数指针
并不是不规范的问题,你子程序写法只能在子程序中输出正确的数据,而在主函数中无法得到交换过的x和y的值。参考程序运用指针让子程序去读写a和b的值,在子程序执行完成后,a和b的值确实得到了交换。
你的程序中子程序采用的不是指针类型参数,这样子程序无法将交换过后的值传回来。