為什么不需要給回調(diào)函數(shù)傳遞參數(shù)
回調(diào)函數(shù)是C語言里面一個重要機(jī)制。
內(nèi)存泄漏檢測工具Sanitizer介紹
內(nèi)存泄漏,我們經(jīng)常會遇到,如何檢測內(nèi)存泄漏,除了我們之前講過的 valgrind,還可以使用 gcc....
STM32和ESP32應(yīng)該學(xué)哪個
STM32 和 ESP32,哪個更適合我們學(xué)習(xí)? 這兩個雖然都是單片機(jī),但是各自的應(yīng)用領(lǐng)域不一樣,不....
深入探索GCC的attribute屬性
如果經(jīng)??碙inux源碼,一定會見過 attribute 屬性,他在 Linux 里面出現(xiàn)的很多。 ....
15行代碼引發(fā)1800多行編譯錯誤:問題排查挑戰(zhàn)
寫了 15 行代碼,編譯報錯竟然高達(dá) 1800 多行,這種奔潰的瞬間應(yīng)該有很多同學(xué)遇到過。 代碼分為....
分析C語言代碼結(jié)構(gòu)的設(shè)計問題
來分析一個C語言代碼結(jié)構(gòu)的設(shè)計問題。 這段代碼,使用了兩次malloc,分別給 p1 和 p2 申請....
在Linux下安裝軟件有哪些方法
在Linux下安裝軟件,可以有哪些方法? 首先是最簡單的,使用軟件包管理工具。 如果是ubuntu或....
利用棧結(jié)構(gòu)實(shí)現(xiàn)四則運(yùn)算的巧妙方法
上個視頻寫了個簡易計算器,算個簡單的加減乘除還行,但是如果來個混合運(yùn)算,或者加個括號,這幾行代碼就差....
指針被釋放后就變成了空指針嗎
指針被釋放后,是不是就變成了空指針?有好多同學(xué)提出了這樣的問題。 借用《C專家編程》上面的一段代碼,....
什么樣的代碼會被編譯器優(yōu)化
現(xiàn)在的編譯器有多智能,可能你辛辛苦苦寫的代碼,在編譯器看來就是幾句廢話,直接被刪除掉。
C語言如何處理函數(shù)的返回值
當(dāng)你在函數(shù)的最后寫上 return 0 的時候,它是如何返回給調(diào)用函數(shù)的? 比如 test 函數(shù),為....
const定義的是不是常量
C語言是如何定義常量的?const定義的算不算是常量? 常見的有這么幾種方式。 首先就是宏定義,使用....
不停的malloc程序會異常嗎
把 malloc 放在死循環(huán)里面,會是什么樣的現(xiàn)象? 比如這樣的代碼,每次使用 malloc 申請 ....
如何把兩個數(shù)據(jù)返回給調(diào)用函數(shù)
函數(shù)的處理結(jié)果包含兩個數(shù)據(jù),如何把兩個數(shù)據(jù)返回給調(diào)用函數(shù)? 第一種,把兩個數(shù)據(jù)封裝成一個結(jié)構(gòu)體,函數(shù)....
C語言筆試題
來看一個C語言筆試題,應(yīng)該很少有人能給出正確答案。 #include int f(){ printf....
數(shù)組的下標(biāo)為什么可以是負(fù)數(shù)
最近有同學(xué)發(fā)來這樣一段代碼,并提出一個問題,數(shù)組的下標(biāo)為什么可以是負(fù)數(shù)? ? ? #include ....
stdio.h實(shí)現(xiàn)了printf函數(shù)?
我們平時包含的 stdio.h 頭文件,里面是不是實(shí)現(xiàn)了 printf 函數(shù)? 為什么會有這個疑問?....
養(yǎng)成良好的編程習(xí)慣|堆內(nèi)存初值不一定是0
? 什么是良好的編程習(xí)慣?可以看下這段代碼,有沒有什么問題? #include #include i....
51單片機(jī)中為什么很少出現(xiàn)printf的身影
51單片機(jī)中為什么很少出現(xiàn) printf 的身影?是用不了嗎? 不是的,51單片機(jī)可以用 print....

同樣是函數(shù),在C和C++中有什么區(qū)別
同樣是函數(shù),在 C 和 C++ 中有什么區(qū)別? 第一個返回值。 C語言的函數(shù)可以不寫返回值類型,編譯....
四種方法教你判斷設(shè)備的字節(jié)序
如何判斷設(shè)備的字節(jié)序,提供 4 種方法給大家參考。 首先就是從概念入手。 所謂小端字節(jié)序,高字節(jié)存放....
C語言中申請的堆內(nèi)存能不能自動釋放
C語言中申請的堆內(nèi)存能不能自動釋放?每次都要手動 free 太麻煩,也容易忘記。 學(xué)過 C++ 的同....
C語言中的頭文件能不能重復(fù)包含
C語言中的頭文件能不能重復(fù)包含? 比如代碼寫成這樣,stdio.h 連續(xù)包含了兩次。 #includ....
數(shù)組名之間可以直接賦值嗎
數(shù)組之間的賦值能不能直接使用等于號?比如這樣的代碼。 int main(){ int a[5] = ....
結(jié)構(gòu)體成員的順序會影響結(jié)構(gòu)體的大小嗎
相同的結(jié)構(gòu)體成員,如果把順序調(diào)整一下,會不會影響結(jié)構(gòu)體的大??? 答案是會的,這主要跟字節(jié)對齊有關(guān)。 ....
指針數(shù)組和二維數(shù)組有沒有區(qū)別
指針數(shù)組和二維數(shù)組有沒有區(qū)別?比如這樣的兩個代碼。 int main(){ char *s1[] =....
C語言關(guān)鍵字分別發(fā)生在哪個階段
以下C語言關(guān)鍵字,分別發(fā)生在哪個階段? 第一個,define。 首先得糾正一下,define 并不是....
如何判斷Linux系統(tǒng)的位數(shù)
給你一個 Linux 系統(tǒng),如何判斷它的位數(shù)? 我經(jīng)常用的,有這么幾種方式。 第一個,使用命令: u....