原创 進程等待wait,waitpid

wait函數 wait函數用於等待子進程中斷或者結束。 wait()函數會暫時停止目前進程的執行,直到有信號來到或者子進程結束爲止。如果在調用wait()時子進程已經結束,則wait()會立即返回子進程結束狀態值。子進程的結束狀

原创 C++實現帶表頭的單鏈表

我自己嘗試寫的,我用了兩個類,其中一個是節點的類,另一個鏈表的類。 具體代碼如下: LinkNode.h 節點類 #ifndef _LINKNODE_H_ #define _LINKNODE_H_ #include <std

原创 複雜指針聲明

右左法則 這是一個簡單的法則,但能讓你準確理解所有的聲明。這個法則運用如下:從最內部的額括號開始閱讀聲明,向右看,然後向左看。當你碰到一個括號時就調轉閱讀的方向。括號內的所有內容都分析完畢就跳出括號的範圍。這樣繼續,直到整個聲明都

原创 嵌入式開發編程修養——C語言篇

什麼是好的程序員?是不是懂得很多技術細節?還是懂底層編程?還是編程速度比較快? 我覺得都不是。對於一些技術細節來說和底層的技術,只要看幫助,查資料就能找到,對 於速度快,只要編得多也就熟能生巧了。 我認爲好的程序員應該有

原创 字符串處理函數的編程實現

1.strlen的實現 int my_strlen(char *src) { int count = 0; while(*src != '\0') { count++; src++;

原创 野指針的一些認識

什麼是野指針 隨機指向一塊內存的指針,稱爲野指針。野指針容易引起內存泄露。 非法訪問:內存資源是由操作系統管理的,使用之前要向操作系統申請。野指針訪問的那塊內存空間可能是未向操作系統申請的內存空間,因爲會被認爲是非法訪問。不是每

原创 函數實現鍵盤輸入整型數,將其轉換成字符串輸出。123456789 "123456789"

#include <stdio.h> #include <string.h> #define MAX_SIZE 1024 char *transform(int num,char *a) { int i = 0;

原创 初識指針

如何理解指針? 首先,指針是一個變量。這樣的話,指針就有了變量的特性。 系統爲指針分配內存空間; 指針有自己的地址; 指針能夠存值,但這個值比較特殊——地址。 在前面的博客中已經提到指針在內存中佔4個字節,即指針的字節長度爲4

原创 變量和常量

什麼是變量?變量的特點? 其值在其作用域內可以改變的量稱爲變量。一個變量應該有一個名字,在內存中佔據一定的存儲空間。變量在使用前必須要定義,每個變量都有自己的地址。變量依據其定義的類型,分爲不同類型,如整型變量、字符變量、浮點型變

原创 malloc、realloc、calloc的用法,作用,區別,及實現原理

先來看一下三個函數的聲明: void * malloc(unsigned size); void * realloc(void *ptr, unsigned newsize); void * calloc(size_t numEl

原创 字符數組的使用

一維字符數組,二維字符數組,字符指針數組 #include <stdio.h> #include <stdlib.h> void printf_array1(char *src) { printf("array1 = %

原创 malloc原理

malloc函數的一種簡單的原理性實現 malloc()是C語言中動態存儲管理的一組標準庫函數之一。其作用是在內存的動態存儲區中分配一個長度爲size的連續空間。其參數是一個無符號整形數,返回值是一個指向所分配的連續存儲域的起始地

原创 從鍵盤輸入父串,子串,要求刪除父串中的子串。

如: 父串:“hellosdhellodsfhellohello” 子串:“hello” 要求刪除父串中的hello。 #include <stdio.h> #include <string.h> #define MAX

原创 數組認知——整型數組

一維數組 1.通過鍵盤給數組的 每個元素賦值 通過以下的程序來講解數組名的一些個人理解 int a[3]; int i; int *p = a; //p == a for(i = 0; i <

原创 數據類型

什麼是數據類型? 數據集合的劃分,不同數據類型對CPU的意義是不一樣的。 數據類型有哪些? 數據類型分爲兩大類:基本數據類型和複合數據類型。基本數據類型分爲:空類型,字符型和數值型。複合數據類型分爲:數組,結構體,聯合體,枚舉類型