原创 指針數組與數組指針的區別

指針數組在C語言和C++語言中,數組元素全爲指針的數組稱爲指針數組。一維指針數組的定義形式爲:“類型名 *數組標識符[數組長度]”。例如,一個一維指針數組的定義:int *ptr_array[10]。含義指針數組中的每一個元素均爲指針,即有

原创 楊輝三角問題

#include <stdio.h> int main() { int a[11][20], i, j; for (i = 0; i<11; i++) for (j = 0; j < 20; j++) a[i][j] = 0; for (i

原创 c++對稱矩陣的壓縮存儲

對稱矩陣對稱矩陣及對稱矩陣的壓縮存儲 設一個N*N的方陣A,A中任意元素Aij,當且僅當Aij == Aji(0 <= i <= N-1 && 0 <= j <= N-1),則矩陣A是對稱矩陣。以矩陣的對角線爲分隔,分爲上三 角和下三角。壓

原创 結構體在內存中的存儲方式

結構體在內存中如何存儲?遵循結構體對齊規則:1.首先要知道默認對齊數:VS 中 8   Linux 中42.第一個成員放到0偏移處3.後面所有的成員都放到對齊數(本身和默認對齊數的較小值)的倍數處偏移4.結構體總大小爲所有對齊數中最大對齊數

原创 可變參數列表

前言:      本文在很大程度上改編自網友kevintz的“C語言中可變參數的用法”一文,在行文之前先向這位前輩表示真誠的敬意和感謝。  一、什麼是可變參數        我們在C語言編程中有時會遇到一些參數個數可變的函數,例如print

原创 實現memmove

實現memmove#include<stdio.h> #include<stdlib.h> #include<string.h> #include<assert.h>   void *my_memmove(void *dest, const

原创 指針數組與數組指針的區別

指針數組在C語言和C++語言中,數組元素全爲指針的數組稱爲指針數組。一維指針數組的定義形式爲:“類型名 *數組標識符[數組長度]”。例如,一個一維指針數組的定義:int *ptr_array[10]。含義指針數組中的每一個元素均爲指針,即有

原创 c++稀疏矩陣的壓縮存儲

稀疏矩陣M*N的矩陣 其中有效值的個數遠小於無效值的個數 且分佈沒有規律Eg:   int array [6][5] =     {{1, 0, 3, 0, 5},                                      

原创 c語言中位段的聲明和結構

位段 (bit field)也叫位域位段的聲明和結構類似,但是它的成員是一個或多個位的字段,這些不同長度的字段實際上存儲於一個或多個整形變量中。位段的聲明和任何普通成員聲明相同,有兩個例外:1.位段成員必須聲明爲int ,signed in

原创 c++矩陣的轉置和快速轉置

矩陣的轉置 將原矩陣的行、列對換,也就是將[i][j]和[j][i]位置上的數據對換。程序代碼:#include<vector>   //稀疏矩陣push pop operator[] 和順序表一致   template<class T>

原创 結構體在內存中的存儲方式

結構體在內存中如何存儲?遵循結構體對齊規則:1.首先要知道默認對齊數:VS 中 8   Linux 中42.第一個成員放到0偏移處3.後面所有的成員都放到對齊數(本身和默認對齊數的較小值)的倍數處偏移4.結構體總大小爲所有對齊數中最大對齊數

原创 C語言scanf輸入格式 printf輸出格式

對於剛接觸C語言的同學來說 可能會遇到這個問題 因爲博主也是個菜鳥經常因爲搞不清楚單精度雙精度還有輸入輸出格式的問題就這個問題也百度的很多次 所以在這裏總結一下分享給大家printf輸出格式1.轉換說明符       %a(%A)    

原创 利用函數調用實現兩個數的交換

#include <stdio.h> #include<stdlib.h> void swap(int *pa, int *pb) { int tmp = *pa; *pa = *pb; *pb= tmp; } int main() {

原创 實現memmove

實現memmove#include<stdio.h> #include<stdlib.h> #include<string.h> #include<assert.h>   void *my_memmove(void *dest, const

原创 C語言判斷當前機器大端小端

程序代碼:#include<stdio.h> #include<stdlib.h>   int check_sys() { int n = 1; return *((char*)&n); } int main() { int ret = c