一些程式設計基礎的注意(持續更新)

2021-07-25 04:30:30 字數 4803 閱讀 6094

形參如果是字元或整型陣列的陣列名,用for迴圈賦值或strcpy賦值函式結束後可以保留這些值,而形參如果是指標的話,不能用strcpy賦值,而是直接等於,函式結束後不可以保留賦的值。

>>的時候如果超過最低位了,則超過的部分自動消失,無需先&再》。

如11110101,如果需要取高四位放在低四位上,不需要(11110101 & 11110000)>>4,直接11110101>>4即可,如果11110101前面的位有值則不能這樣,如110011110101,不能去掉&11110000。

如果乙個變數abc不同位的值分布在不同的變數def中,可以不用從abc賦值,而是先解析d,再解析e和f,用a|=來給a賦值。

如果編譯器沒有設定__my_debug__,則以下**段的test()函式不執行,以此來區分測試和主**,測試**和主**不要寫在乙個類中。

#if __my_debug__

test();

#endif

__my_debug__在property(art + f7)中的c/c++的preprocessordefinitions中放入。

乘法(乘以2的倍數)可以用《代替,除法(除以2的倍數)可以用》代替,比如:

1*8 等價於 1<<3

6/8等價於 6>>3

fwidth %8等價於fwidth &0x07

按8的長度來算,如果最後有剩餘,加一。

if(fwidth & 0x07)

按8來分段,求最後不夠8長度的剩餘的點數。

unsigned short blockoffset = x&0x07;

在類中初始化賦值或在函式中賦值的不變的成員變數,獲取的時候在函式最後加const,防止變數被隨意改動。

unsigned short fw;

unsigned short fv;

unsigned short fy;

unsigned short w() const ;

unsigned short v() const ;

unsigned short y() const ;

unsigned short x() const ;

unsigned short width() const

unsigned short height() const

unsigned short findersize() const ;

uint getselectedcount( ) const;

該函式返回列表檢視控制項中被選擇列表項的數量。

void

coml_bargen_maxicode_module

::fillblock(

unsigned

char

*block

,unsigned

intstride

,unsigned

short

offset)

} 在乙個函式中要保證某個引數或功能滿足一定條件,可以用

assert

函式,assert(false)

為報錯,

assert(true)

為正確。

ex.assert

(x<1)為x

應小於1

,不然即報錯。

void

coml_bargen_2drendermaxicode

::drawcellat(

unsigned

intx

,unsigned

inty)

mfc中獲取視窗控制代碼及相關函式 

首先,視窗控制代碼,在視窗類中直接使用成員變數m_hwnd,在視窗外最常見是用afxgetmainwnd (獲取主視窗指標,其成員變數m_hwnd為主視窗控制代碼):

hwnd hwnd = afxgetmainwnd()->m_hwnd;

hwnd是windows系統中對所有視窗的一種標識,即視窗控制代碼。這是乙個sdk概念。   

cwnd是mfc類庫中所有視窗類的基類。微軟在mfc中將所有視窗的通用操作都封裝到了這個類中,如:showwindow等等,同時它也封裝了視窗控制代碼即m_hwnd成員。

char

postalcode[12];

memset(postalcode,

'c', 12*

sizeof

(char

));

result:

cccccccccccc

char

* str =

"b105";

strcpy_s(postalcode, 5, str);\\

只更新了前

5個位址的內容,後面沒變。

result:

b105\0ccccccc

strcpy_s(postalcode, 12, str);\\

更新了前

5個位址內容後,雖然沒有指定值,但也更新為其他內容。

result:

b105\0-2-2-2-2-2-2-2

strcpy_s(postalcode, str);\\同上

result:

b105\0-2-2-2-2-2-2-2

1. 理解解析器傳給中間模組的資料結構。(資料結構檔案:dgbtool.sdcc.h)

2. 寫出以下命令對應的資料結構的值:(plw語言規範:plw.xps)

-  aa(整數型): 3-1)3-2-6-(1)円弧パスの追加(半徑指定)      page106

- sa(整數型):3-1-1-(1)座標系の指定(整數型)           page37

- dm(整數型):3-3-12-(1)イメージマスクの描畫(整數型)   page157

第一種方法:工程(project)-->設定(setting)-->c/c++選項卡 -->分類   選擇「預處理器(preprocessor)」,在下面有一項「附加包含路徑(additionalinclude files)」,裡面寫上頭檔案所在的目錄即可。

第二種方法:tools->options->directories,選擇include files,在下面新增目錄

安裝gitg:

sudoapt-get install gitg

包含標頭檔案用相對目錄,因為絕對目錄在別人的環境下可能找不到,相對目錄在當前目錄前一層用..\.

指標引數只能改變其值,無法改變指標的值,用雙重指標可以。

把乙個指標賦給另乙個指標,然後對另乙個指標進行free以及置空,原始指標內容清楚,但指標位址不變,無法置空。

把double型資料轉換成int型資料的簡單方法:

voidmain(void)

乙個數的n次方:

程式要引用math.h檔案,使用時

pow(x,y)表示x的y次方。

int m,n;

m=sqrt(n); //此語句就是給整數n開平方根了。

printf("%d";m);

給乙個數x開n次方:

pow(x,1/n)

整數和字串互相轉換:

atoi、itoa

一些函式(持續更新)

itertools模組的zip longest對於巢狀list的使用 文章中在變換句子矩陣的時候使用了itertools模組的zip longest函式。使用方法如下 batch list itertools.zip longest batch,fillvalue pad fillvalue就是要填...

latex 一些錯誤(持續更新)

複製貼上的fi字型格式不對,重新鍵盤手敲一下就行。latex winedt報錯 package inputenc error unicode character u fb01 inputenc 人工智慧 shiue gx的部落格 csdn部落格 有些地方打少了花括號,仔細尋找下。error file...

Nodejs 一些細節 (持續更新)

三者的區別是 命令說明 process.cwd 獲得當前執行 node 命令時候的資料夾目錄名 dirname 獲得當前執行檔案所在目錄的完整目錄名 filename 獲得當前執行檔案的帶有完整絕對路徑的檔名 例子說明 假設我們建立乙個全域性的 cli 它的專案路徑在d myproject mycl...