顯示包含「C++」標籤的文章。顯示所有文章
顯示包含「C++」標籤的文章。顯示所有文章

2023年2月7日星期二

C abs()

abs() — Calculate Integer Absolute Value

IBM 說明

The abs() function returns the absolute value of an integer argument n.

我的理解:此函式會將輸入的整數取決對值後回傳

程式碼

#include <string.h>
#include <stdio.h>

int main(void)
{
    int number_in = -123;
    int number_out;

    number_out = abs(number_in);
    printf("number_in:%d,number_out:%d\n", number_in,number_out);
}

執行結果


參考資料

https://www.ibm.com/docs/en/i/7.4?topic=files-stdlibh#stdlib

2021年1月15日星期五

 C 語言 printf 常用格式紀錄



型態

Printf格式字元

Char

%c

_Bool

%i,%u

Short int

%hi,%hx,%ho

Unsigned short int

%hi,%hx,%ho

Int

%i,%x,%o

Unsigned int

%u,%x,%o

Long int

%li,%lx,%lo

Unsigned long int

%lu,%lx,%lo

long long int

%lli,%llx,%llo

Unsigned long long int

%llu,%llx,%llo

Float

%f,%e,%g,%a

Double

%f,%e,%g,%a

Long double

%Lf,$Le,Lg


2020年7月15日星期三

小小工程師成長紀錄-指標篇01-取址取值傻傻分不清楚

一開始學指標需要先建立一個觀念
* 與 & 到底誰是誰,做甚麼用的
先來說說*吧

一、符號說明"*"
 主要是宣告一個指標變數,可以是int ,long,char...等。

  宣告方式說明:以下四種方式都可以

  變數型態 *名稱;
  變數型態* 名稱; 
  變數型態*名稱;
  變數型態 * 名稱; 

  EX
  int *addr;     //念法->addr是一個指向整數的指標變數
  char *addr;  //念法->addr是一個指向字元的指標變數

再來接著說&

二、符號說明"&"

 主要功能是取得變數的記憶體空間"位址"如下圖

像之前在學變數時,宣告完後拿變數來儲存,但是重點來了!!!
其實每個變數都有一個記憶體位址+一個內容值。
注意喔!是每個變數都有一個記憶體位址,我們通常存的數值是在儲存在儲存資料內容那邊。
所以當我們指標是取變數的儲存該變數的記憶體位址

既然"&"與"*"都已經大致上說明了。那接下來就是要簡單的跑一下程式碼啦

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num1 = 10;        //宣告 int 型態的 num1等於10
    int *ptr = &num1;   //宣告一個int型態的指標儲存num1的記憶體位址

    printf("num1's pointer is %p\n",ptr);
   //列印出指標所存放的內容(也就是num1的記憶體位址

)

    return 0;
}

附上結果圖,由於每台電腦的運作不同所以所看到配置的記憶體位址也會不同,每次編譯後所配置到的記憶體空間也不同喔,有興趣的朋友可以多編譯執行幾次看看。

第一次編譯執行
第二次編譯執行

今天就先到這,歡迎留言討論


2020年7月14日星期二

小小工程師成長紀錄-指標篇00-為何要學指標?

最近在開始在反思,如何把更佳優美地去撰寫及駕馭好MCU,看了許多專案及程式碼,發現如果要把能力往上提升,指標是必須要學會的!
有時候看網路無章,不夠有條理地去說明,後來看到"指標的藝術"這本書
於是開始一步步慢慢地照著書中內容,重新學習指標。

學會指標優那些好處呢?
  1. 建立快速有效率的程式碼
  2. 提供更方便解決問題的方法
  3. 動態記憶體配置
  4. 簡化表示式
  5. 利用指標傳遞結構資料,避免傳遞大量資料造成的負擔
  6. 保護以參數傳入函數的資料
參考資料:"指標的藝術"

2020年4月30日星期四

C 利用指標替換兩個數值

C 語言學習紀錄

利用指標替換兩個數值

C Program to Swap two Numbers

void swap(int *xp, int *yp)
{
    int temp = *xp;
    *xp = *yp;
    *yp = temp;
}


動作說明
1.寫一個副程式,輸入兩個int 指標變數
2.宣告一個int 去暫存 第一個指標變數值
3.把第二個指標變數值傳給第一個指標變數值
4.第二個指標變數值去存暫存的指標變數值
參考資料
https://www.geeksforgeeks.org/c-program-swap-two-numbers/

打賞按讚