C語言形式引數傳遞的兩種方式
C語言中實際引數(實參)與形式引數(形參)之間的傳遞方式有傳值和傳地址兩種函式呼叫方式。
1.直接傳值。
直接傳值,在fun函式裡面改變a,b的值,不會改變主函式裡面a,b的值。
#include<stdio.h>
void fun(int a, int b) // 此處a, b為形參
{
a++;
b++;
}
void mian()
{
int a=1, b=2;
fun(a, b); // 按傳值方式呼叫函式fun,此處a,b為實參
printf("%d, %d\n", a, b); // 輸出a=1, b=2
}
2.傳地址方式
在fun函式裡面改變a.b的值,主函式裡面a,b的值也會改變。
#include<stdio.h>
void fun(int *a, int *b)
{
*a =3;
*b =4;
}
void mian()
{
int a=1, b=2;
fun(&a, &b); // 按傳地址方式呼叫函式fun
printf("%d, %d\n", a, b); // 輸出a=3, b=4
}
相關推薦
C語言、Java兩種方式下的——規定範圍內不重複隨機數
示例1:C語言版 #include <stdio.h> #include <stdlib.h> #include <time.h> //隨機產生規定個數的不重複數字 int findSame(int *arr, int in, int
C語言形式引數傳遞的兩種方式
C語言中實際引數(實參)與形式引數(形參)之間的傳遞方式有傳值和傳地址兩種函式呼叫方式。 1.直接傳值。 直接傳值,在fun函式裡面改變a,b的值,不會改變主函式裡面a,b的值。 #include<stdio.h> void fun(int a, int b) // 此處a
C++調用C代碼的兩種方式
未定義 nbsp fin 代碼 endif log 導致 plus code 由於C++支持函數重載,在編譯函數代碼的時候會加上參數類型的信息,而C編譯只有函數名信息,導致C++直接調用C代碼在鏈接的時候會出現函數未定義的問題。解決這種問題有兩種方法。方法一:在寫C代碼
淺談C語言中的兩種語句
我們都知道學習C語言都會遇到兩種常見的語句:選擇語句,迴圈語句。今天就讓我們一起來簡單看看這些語句的特點及功能吧! 選擇語句 if語句,用來實現兩個分支的選擇結構。 switch語句,用來實現多分支的選擇結構。 比如這裡有一個選擇語句: #include&
JAVA程式開發步驟 及 計算機語言執行的兩種方式
(一)JAVA程式開發步驟 (1)建立java原始檔 java原始檔是以.java結尾的文字檔案,由程式設計師建立和編寫。 (2)將原始檔編譯成位元組碼檔案 位元組碼檔案是以.class結尾的檔案; 通過java編譯器命令javac,將java源程式編譯成位元組
C++中#include的兩種方式
一、#include< > #include< > 引用的是編譯器的類庫路徑裡面的標頭檔案。 假如你編譯器定義的自帶標頭檔案引用在 C:\Keil\c51\INC\ 下面,則 #include<stdio.h> 引用的就是 C:
VS2010中CUDA和C++混合編譯(兩種方式)
在做專案整合的時候需要用到cpp和cuda檔案聯調,自己摸索了兩種方式實現cpp和cu檔案混合編譯。 本文環境: windows7 64位VS2010CUDA5.5英偉達顯示卡Tesla C1060 前言 裝好CUDA 5.5 sdk後,預設會自動新增好系統環境變數
C++建立物件的兩種方式
C++建立物件有兩種方式,在棧上建立物件(Objects on the Stack)和在堆上建立物件(Objects on the Heap)。假設我們有以下的類: 1 #include <string> 2 using std::string; 3 4 class Spreadsheet
c++ 定義常量的兩種方式 和 區別
使用常量的好處就顯而易見,用常量的有下面一些好處: 1:增強程式的可讀性。用一個有意義的常量字串代替一個常數,程式讀起來會更加的方便。 2:如果很多地方用到像PI(3.14159)這樣的常量,可以一改改全域性。 常量是在程式執行中不能被改變的識別符號。
通過JVM記憶體模型深入理解值傳遞和引用傳遞兩種方式
值傳遞和引用傳遞分析Java中資料型別分為兩大類:基本型別和引用型別(也就是物件型別)。基本型別:boolean、char、byte、short、int、long、float、double引用型別:類、介面、陣列因此,變數型別也可分為兩大類:基本型別和引用型別。在分析值傳遞
C語言除錯的四種方式
一. 編譯器警告: 1. 預設, 編譯器不生成所有警告。 2.使用 gcc -Wall 二. printf語句 1.Print to stderr instead of stdout •fprintf(stderr, ….) 三. assert
c#Gdi畫圖的兩種方式
用Graphics繪圖的兩種方法在學習C#畫圖的時候非常的蛋疼。其中的一條原因是之前沒有搞過, 其中之二是辦公的環境有點差。這就是我找的2種學習非常蛋疼的原因。雖然是這樣但是學還是要學的。本篇文章都是在xxx_paint(object sender, PaintEventAr
C#讀取Excel資料兩種方式效能對比
方式一:程式讀取Excel資料,程式碼如下: Excel.Application m_ExcelFile = new Excel.Application(); Excel._Workbook m_Workbook;
Qt5.8 QML和C++混合程式設計的兩種方式(附帶原始碼)
Qt5.8 QML和C++混合程式設計的兩種方式(附帶原始碼)編譯環境:win10 專業版 Qt5.8 Qt 提供了兩種在 QML 環境中使用 C++ 物件的方式:上手敲一下,很快就能理解 點選開始,中間的圖形開始變化,上面顯示時間,
C語言編程 兩種方法打印一個菱形(漸入顯示)
nag 支持 一個 left c語言 stdio.h watermark char () <1>第一種方法,利用字符數組定義一個空格數組和一個符號數組, 然後找到數組中間的元素,操作空格字符從中間開始向兩邊與符號數組的元素互換, 每互換一次進行一次輸出,打印上半
C語言中函式引數傳遞的兩種方式
問題及程式碼: /* *完成日期:2018.10.2 * *問題描述:c語言函式引數傳遞的兩種方式 * */ #include <stdio.h> void swap1(int x, int y); //對交換函式myswap1的提前宣告 (傳值
C++函數傳遞數組的兩種方式
mes 維數 二維 傳遞 獲得 arr [] 長度 clas 數組與指針。 傳首地址過去,然後通過地址輸出數組元素。 1、一維數組 #include<iostream> using namespace std; #include <cstring>
C語言中存儲多個字符串的兩種方式
空間 clas 字符串 bubuko spa eight 驗證 std 技術分享 C語言中存儲多個字符串的兩種方式 方式一 二維字符串數組 聲明: char name[4][10] = { "Justinian", "Momo", "Becky", "Bush" }
【C語言】實現一個計算器(兩種方式)
1.使用switch…case…語句實現 #define _CRT_SECURE_NO_DEPRECATE 1 #include <stdio.h> #include <stdlib.h> int add(int x, int y) { &nb
C#高階程式設計,給執行緒傳遞引數有兩種方式
一:使用ParameterizedThreadStart委託 如果使用了ParameterizedThreadStart委託,執行緒的入口必須有一個object型別方式一:使用ParameterizedThreadStart委託: using System; using System.