程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 程序猿之---C語言細節27(函數無參數時細節、函數默認返回int型證明、return默認還回值、void指針++操作)

程序猿之---C語言細節27(函數無參數時細節、函數默認返回int型證明、return默認還回值、void指針++操作)

編輯:關於C語言

程序猿之---C語言細節27(函數無參數時細節、函數默認返回int型證明、return默認還回值、void指針++操作)


主要內容:函數無參數時細節、函數默認返回int型證明、return默認還回值、void指針++操作

一、函數無參數時細節

函數無參數時應該加上void

在c語言中一個函數

void f();

在使用時傳遞參數f(2);沒有報錯,而在c++中則會報錯

最好加上void來明確函數是無參數的

二、函數默認返回類型為int型

見下面程序

三、return默認返回1

細節:return不可返回執行棧內存中的指針,因為該內存在函數體結束時自動銷毀

四、void 指針++操作

void *p;

p++; //在ANSI編譯中錯誤、在GNU編譯器中p++和char*一致

#include  
a()
{
	return 3;
	//return ; //直接寫成這個形式默認是返回 1 的 
}

b(int a, int b)
{
	return a+b;
}
int main()
{
	printf("func a return = %d\n",a(2));   // 函數無參數應申明為void,在c中不聲明傳了參數沒有報錯,在C++就會報錯,所以無論C/C++,函數無參數就申明為void 
	printf("func b retunr = %d\n",b(300,5000)); // 此處說明函數無返回類型,默認返回int型 
	
	printf("-------------------------\n");
	void *p;         
	p++;// 使用編譯器gcc、mingw5編譯通過(即GNU),它們認為p++為char*類型的,使用VC6.0編譯錯誤(即ANSI) 

	return 0;
}
輸出:



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