程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> [c++]通過一個簡單的程序引出#define與typedef的區別

[c++]通過一個簡單的程序引出#define與typedef的區別

編輯:關於C++

廢話不多說,請看下面程序:

 

#include
using namespace std;

#define SIGN1 char*  //
typedef char * SIGN2;//typedef是一條語句所以以分號結尾

int main()
{
	SIGN1 ch1,ch2;
	SIGN2 ch3,ch4;

	cout<

想一想答案是什麼???

 

 

\

 

#define宏替換只是簡單的替換:(預處理時完成的)(以#開頭的都是預處理命令,結尾沒有分號,因為它們不是語句)

SIGN1 ch1,ch2; ----------->>>> char * ch1,ch2;

ch1是一個指針(char *)四個字節 ch2類型為 char一個字節

 

typedef 類型重命名,被命名的標示符具有類型定義說明的功能(編譯時處理)(是一條語句,所以以分號結尾)

SIGN2 ch3,ch4; ----------->>>> char * ch3,*ch4;

ch3和ch4都是指針

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved