原创 static關鍵字

static作爲C語言中的關鍵字,其引入之初是爲了解決局部變量在函數結束之後其值仍然可以得到保存的問題。隨後在C語言的拓展中,又增加了一個功能,修飾函數或變量的可見性爲本文件。由此我們可以知道,static關鍵字在C語言中有兩個作用:一,修

原创 【C語言數據結構】循環單鏈表

CircleLinkList.h#ifndef CIRCLE_LINK_LIST #define CIRCLE_LINK_LIST //鏈表節點 typedef struct _CircleLinkListNode {     struc

原创 【C語言數據結構】順序棧

SeqStack.h#ifndef SEQSTACK_H #define SEQSTACK_H typedef void SeqStack; SeqStack* SeqStack_Create(int capacity); void 

原创 【C語言數據結構】單鏈表

LinkList.h#ifndef LINK_LIST_H #define LINK_LIST_H //鏈表節點 typedef struct _LinkListNode {     struct _LinkListNode *next;

原创 【C語言數據結構】靜態單鏈表

StaticLinkLinst.h#ifndef STATIC_LINKLIST_H #define STATIC_LINKLIST_H typedef void StaticLinkListNode;    //靜態單鏈表節點 type

原创 【C深度剖析】sizeof操作符與數組

sizeof操作符與數組一、  sizeof是何方神聖說到sizeof,首先必須知道的一點:sizeof不是函數,sizeof是操作符。sizeof的作用就是,計算一個對象或類型所佔的內存字節數。  1.1 sizeof的語法       

原创 【C語言面試題】第2題:宏參數的連接

#include <stdio.h> #define STR(s)    #s #define CONS(a,b)    (int)(a##e##b) int main() {     printf(STR(vck));     pri

原创 【C語言數據結構】順序表

SeqList.h#ifndef SEQ_LIST_H #define SEQ_LIST_H typedef void SeqListNode; typedef void SeqList; /*  * 創建順序表  * @param c

原创 【C語言數據結構】鏈棧

LinkStack.h#ifndef LINKSTACK_H #define LINKSTACK_H typedef void LinkStack; LinkStack* LinkStack_Create(); void LinkSt

原创 【C語言面試題】第1題:有符號變量和無符號變量的值得轉換

#include <stdio.h> char getChar(int x,int y) {         char c;         unsigned int a = x;         (a + y > 10) ? (c = 

原创 static關鍵字

static作爲C語言中的關鍵字,其引入之初是爲了解決局部變量在函數結束之後其值仍然可以得到保存的問題。隨後在C語言的拓展中,又增加了一個功能,修飾函數或變量的可見性爲本文件。由此我們可以知道,static關鍵字在C語言中有兩個作用:一,修

原创 【C深度剖析】自實現 strcmp strlen strcpy strcat

int str_cmp(const char *s1,const char *s2) { int ret; while(!(ret = *(unsigned char *)s1 - *(unsigned char *)s2) && s2

原创 GCC與編譯過程

GCC與編譯過程  GCC(GNU Compiler Colletion),GUN編譯器套裝,是一套由GNU開發的編程語言編譯器。Linux系統下的GCC編譯器實際上是調用其他不同的工具來完成預處理、編譯、彙編和鏈接工作。  一、編譯過程