一、結構體的定義與使用
#include <stdio.h> //定義結構體(類似模板) typedef struct { char name[50]; int age; char address[100]; } nvgui; void main() { nvgui niexiaoqian={"聶小倩",18,"蘭若寺"}; nvgui b={"千年樹精",100,"大樹"}; printf("聶小倩的信息:\n姓名:%s\n年齡:%d\n",niexiaoqian.name,niexiaoqian.age); }
二、其它概念
1.變量必須放在其它語句之前
2.調用函數之前需要先進行函數聲明:
就是告訴編譯器,這個函數已經存在,和這個函數具體是什么格式的,名稱是什么,返回值是什么,數據個數和類型分別是什么,以后在用到這個函數的時候編譯器就按照這個聲明的格式來檢查函數的使用是否正確
就是告訴編譯器函數的類型,名稱,使用的參數的類型。
3.以#開始的為預編譯指令
#include |
意思原樣展開 |
#include |
帶<>為系統自帶的,在庫文件中找 |
|
帶“”在工程文件下找 |
#ifndef |
(if not define) #ifndef A如果沒有定義A就執行下面的語句 |
#define |
#define MAX_SIZE 10 定義(定義一個字符常量)程序中所有的MAX_SIZE都被10代替(可以讓10這個常量更有意義) |
#endif |
與#ifndef配對,開始,結束 |
所有頭文件必須包含下面三句話(模版):
#ifndef 頭文件名_H
#define 頭文件名_H
…
…
函數聲明或者宏定義、全局變量、結構體類型
#endif
三、多文件結構程序設計(重點)
大學學了一年的C都沒整明白幾個.c文件是怎樣關聯到一塊的,我在一個.c文件中寫了一個函數,怎么在另外一個.c文件中調用,也就是什么是多文件結構設計。下面我們一步一步實現這個多文件的調用問題:
1.咱們新建一個工程命名為myFirstC,如下圖:
2.新建一個.c文件為main.c為程序的入口,再新建一個add.c,這里面實現一個兩個數相加的小函數
3.建議一個頭文件add.h,咱們先完成這個里面的代碼:如下
#ifndef ADD_H
#define ADD_H
int add(int a,int b);
#endif
代碼說明請參考上邊講的預處理的介紹。
接著實現add.c的代碼
#include <stdio.h>
#include "add.h"
int add(int a,int b)
{
printf("我是來自add.c\n");
return a+b;
}
這里說下為什么要引入自己的頭文件,主要是因為如果存在多個相互調用的子函數,那就需要進行函數聲明,這時需要引入自己的頭文件就行了,如果頭文件沒有包含,需要補寫函數聲明。
最后就是main.c文件的實現了:
#include<stdio.h>
#include"add.h"
main()
{
int a=5,b=6;
printf("a+b=%d\n",add(a,b));
}
編譯一下,沒有任何錯誤,運行結果為:
最后看下文件結構:
呵呵,簡單吧,這就是c語言的多文件結構程序
文章列表