原创 奇怪的知識又增加了(結構體內存對齊的故事)

結構體內存對齊 1. 結構體的第一個成員一定放在結構體起始位置的 0 偏移處,截止字節由其本身類型大小決定 2. 從第二個成員開始,每個成員都要放在某個對齊數的整數倍的偏移處(這個對齊數:成員自身的大小和默認對齊數的較小值 —

原创 結構體、共用體、位操作和枚舉類型

1 引言 ● 結構體(Structure)[在C標準中有時也稱爲聚合體(Aggregate)]是統一在同一個名字之下的一組相關變量的集合,它可以包含不同類型的變量 ● 結構體通常用來定義儲存在文件中的記錄 ● 將指針和結構體

原创 C格式化輸入輸出

1 流 ● 所有的輸入/輸出都是針對流進行的,所謂流就是按行組織的字符的序列 ● 通常,標準輸入流與鍵盤相連;標準輸出流與計算機屏幕相連 ● 操作系統通常都允許將標準輸入流和標準輸出流重定向到其他設備上 2 用prin

原创 C字符與字符串(知識梳理)

1 字符串和字符基礎 ● 字符是構造源程序的基本單位。每個程序都是由一系列字符組成的。當這些字符有意義地組合在一起後,就被計算機解釋成能夠完成某個任務的一串指令 ● 字符常量是一個整型值,用單引號引起來的字符來表示。字符常量

原创 字符處理函數庫中的函數及其作用

字符處理庫函數 <ctype.h> 包含了用於對字符數據進行測試和操作的函數。每個函數都接收一個unsigned char 字符(用整數表示)或EOF作爲實參。 #include <stdio.h> #include <ctype

原创 58_4_26上課筆記

● && 邏輯與 ● 如果第一個判定條件爲假,則不執行後續語句,只有&&兩側都爲真才爲真 ● || 邏輯或 ● 如果第一個判定條件爲真,則不執行後續語句,只有兩側都爲假是才爲假 ● 三目操作符 ● 判斷語句

原创 Python(流程控制)

所有編程語言在編寫時都要遵守語言結構和流程控制,它們控制了整個程序運行的步驟。流程控制包括順序控制,條件控制和循環控制。所謂順序控制,就是從上到下,從文件頭到文件尾依次指定每條語句 ● 流程控制之後的一行必須是有縮進的語法塊。

原创 CSDN綁定第三方賬號

CSDN可以通過綁定各種第三方賬號來獲取各種花花綠綠的勳章 https://passport.csdn.net/signwap

原创 三子棋(還可以通過改變宏實現五子棋或更多)

頭文件 chess.h #ifndef _CHESS_H_ #define _CHESS_H_ #include <stdio.h> #include <stdlib.h> #include <string.h> #includ

原创 58_4_15上課筆記

● 指針+1 表示指向下一個元素,且不會影響指針原始值 ● C程序地址空間: 棧區: 局部變量生命週期是隨函數的(代碼塊) 棧幀:C語言中,每個棧幀對應着一個未運行完的函數。棧幀中保存了該函數的返回地址和局部變量。 遞歸的

原创 58_4_17上課筆記

● 數組:是一組相同類型元素的集合。 ● 數組的空間是在對應函數的棧幀內部開闢的,即是在棧上開闢空間的 ● 創建: int arr[常量]:可以爲常數或宏定義 ● 初始化: 在創建數組的同時給數組的內容一些合理初始值。 數

原创 數據結構(Python)

● Python中共有68種內置序列(有些內置函數也能返回一些特殊序列,可以對它進行一些通用的序列操作),其中有三種比較常見:列表,元組,字符串 ● Python中大部分序列都可以進行通用操作,包括索引,切片,相同類型序列想加,乘

原创 二分查找法(折半查找)

#include <stdio.h> int binary_search(int arr[],int key,int left,int right)//定義並聲明一個二分查找函數 { int mid; while (left <=

原创 C函數 (下)

10 隨機數的生成 ● 函數rand產生一個值在0和Rand_MAX之間的整數,其中RAND_MAX是C語言標準定義的至少是32767的符號常量 ● 可以通過縮放和平移函數rand產生的值來產生一個指定範圍內的值 ● 使用C

原创 58_3_31上課筆記

● C語言中由一個 ; 結尾的就是一個語句 ● 控制結構分爲三種: 順序結構 選擇結構 循環結構 if語句 單分支條件語句 雙分支條件語句 多分支條件語句 循環結構 while循環 do…while循環 for