我想學習在C中創建頭文件並將其包含在main.c的func()中。我創建了一個名爲call()函數的簡單tut1.c文件和一個名爲call()的extern tut1.c函數的tut1.h頭文件。那就是它,現在我在Linux Fedora上使用eclipse Juno進行C/C++。我沒有得到任何編譯錯誤,但代碼不會輸出?我徒勞地嘗試了控制檯和日食。你可以檢查嗎?由於C程序編譯但沒有輸出
---main.c-----
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "tut1.h"
int main (void)
{
int tut1(void);
return 0;
}
-----tut1.c------
#include <stdio.h>
#include <stdlib.h>
#include "tut1.h"
int call (void)
{
int *ptr;
int i;
ptr = &i;
*ptr = 10;
printf ("%d we are printing the value of &i\n", &i);
printf ("%d we are printing the value of *ptr\n", *ptr);
printf ("%d we are printing the value of ptr\n", ptr);
printf ("%d we are printing the value of &ptr\n", &ptr);
getchar();
return 0;
}
----tut1.h----
#ifndef TUT1_H_
#define TUT1_H_
extern int call (void);
#endif
爲什麼你在'main()'中聲明一個不存在的函數('tut1()')? – 2013-03-09 18:27:45
沒有輸出,因爲你沒有調用任何東西 - 只是聲明一個函數,然後返回0. – 2013-03-09 18:29:06
請注意,該程序還會調用未定義的行爲:指針和地址**必須使用「%p」格式說明符和參數**必須**(投給)一個'void *'。 – Jens 2013-03-09 19:40:53