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的值確實得到了交換。
你的程序中子程序採用的不是指針類型參數,這樣子程序無法將交換過後的值傳回來。