原创 APUE學習筆記 第七章 進程環境

第七章 進程環境    本章中將學習:當程序執行時,其main函數是如何被調用的;命令行參數是如何傳遞到新程序的;典型的存儲空間佈局是什麼樣式;如何分配另外的存儲空間;進程如何使用環境變量;進程的各種不同終止方式等。另外,還將說明long

原创 APUE學習筆記 第十章 信號

第十章 信號    信號是軟件中斷,它提供了一種處理異步事件的方法。本章對信號機制進行綜述,並說明每種信號的一般用法。 1、信號概念每個信號都有一個名字,這些名字都以3個字符SIG開頭。在頭文件<signal.h>中,信號名都被定義爲正整

原创 APUE學習筆記-第四章-文件和目錄

第四章 文件和目錄1、函數stat、fstat、fstatat和lstat#include<sys/stat.h> Intstat(const char *restrict pathname,struct stat *restrict b

原创 C/C++錯題集之static相關

靜態數據成員只能在全局區域進行初始化,而不能在類體中進行(構造函數中初始化也不行),且靜態數據成員不涉及對象,因此不受類訪問限定符的限制。 類方法是指類中被static修飾的方法,無this指針    類方法是可以調用其它類的static

原创 數據結構與算法之查找總結

大話數據結構--查找1、順序表查找#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h"

原创 APUE學習筆記 第十一章 線程

第十一章 線程    本章將進一步深入理解進程,瞭解如何使用多個控制線程在單進程環境中執行多個任務。一個進程中的所有線程都可以訪問該進程的組成部件,如文件描述符和內存。不管在什麼情況下,只要單個資源需要在多個用戶間共享,就必須處理一致性問

原创 C/C++錯題集之重載相關

可作爲函數重載判斷依據的有:參數個數、參數類型、const修飾符; 不可以作爲重載判斷依據的有:返回類型。C++中可以重載的運算符:new/delete、new[]/delete[]、++等。 可以重載的運算符:、.、::、?:、size

原创 APUE學習筆記 第十二章 線程控制

第十二章 線程控制    本章將講解控制線程行爲方面的詳細內容,介紹線程屬性和同步原語屬性。前面的章節中使用的都是它們的默認行爲,接下來還將介紹同一進程中的多個線程之間如何保持數據的私有性。最後討論基於進程的系統調用如何與線程進行交互。 

原创 C/C++錯題集

1.  charc = '\72'; 中的\72代表一個字符,72是八進制數,代表ASCII碼字符“:”。2.  10*a++ 中a先進行乘法運算再自增(筆試中經常喜歡出這類運算符優先級容易混淆的輸出問題)。3.  const和stati

原创 C/C++錯題集之虛函數相關

靜態多態性:編譯期間確定具體執行哪一項操作,主要是通過函數重載和運算符重載來實現的; 動態多態性:運行時確定具體執行哪一項操作,主要是通過虛函數來實現的。如果類中含有虛函數,則編譯器需要爲類構建虛函數表,類中需要存儲一個指針指向這個虛函數

原创 C/C++錯題集之const相關知識點

const和static的作用 太常見的問題了,下面給出一個較詳細的參考答案:static關鍵字:1)函數體內static變量的作用範圍爲函數體。不同於auto變量。該變量的內存只被分配一次。因此其值在下次調用時仍維持上次的值。2)在模塊

原创 APUE學習筆記 第八章 進程控制

       本章介紹unix系統的進程控制,包括創建新進程、執行程序和進程終止。還將說明進程屬性的各種ID——實際、有效和保存的用戶ID和組ID,以及他們如何受到進程控制原語的影響。還包括解釋器文件和system函數,進程會計機制。 參

原创 數據結構之雜項

稀疏矩陣壓縮的存儲方法是:三元組和十字鏈表指針數組:int* a[4]  表示數組a中的元素都是int型指針數組指針:int (*a)[4]  表示指向數組a的指針快慢指針是判斷一個單向鏈表有沒有環的一種方法KMP算法的特點是在模式匹配時

原创 數據結構與算法之排序

大話數據結構--排序#include <stdio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> #include <io.h>

原创 APUE學習筆記 第三章 文件I/O

APUE學習筆記 第三章 文件I/O1、函數open和openat       調用open或openat函數可以打開或創建一個文件#include<fcntl.h> Int open(const char *path,into flag