C語言基礎十一

2021-09-02 04:33:18 字數 4105 閱讀 5147

指標陣列是由多個同型別的指標變數構成的陣列,宣告方法如下

int *values[3];

指標陣列和二級指標可以互相替換

陣列指標是乙個指標變數,可以用來記錄二維陣列的名稱,宣告方法如下

int (*p_values)[3];

陣列指標可以和二維陣列互相替換

陣列指標加一時,一的單位是整個一維陣列的大小

file結構體用來表示檔案系統中的乙個檔案

fopen函式可以開啟乙個檔案,如果失敗則返回null,否則返回file結構體變數的位址。

開啟模式結構如下

第一部分從如下三個字母中選擇乙個,必須存在

'r' : 對檔案進行讀操作,要求檔案已經存在

'w' : 對檔案進行寫操作,如果檔案還不存在則建立乙個

新檔案,如果檔案存在則刪除

'a' : 對檔案進行寫操作,如果檔案已存在則把新內容追

加在檔案結尾

第二部分由符號'+'表示,可以不存在。如果存在則表示對檔案進行讀寫操作。

第三部分由符號'b'表示,可以不存在。如果存在則表示以二進位制方式對檔案進行操作。

fclose函式用於關閉乙個檔案,引數是乙個file結構體變數位址

fputc函式可以把乙個字元寫入到檔案中,如果失敗則返回eof。

fgetc函式可以從檔案中讀出下乙個字元並返回,如果失敗則返回eof。

fread和fwrite函式可以以二進位制方式對檔案進行批量讀寫操作

rewind函式可以把檔案的位置指標移動到檔案開頭

fseek函式可以把位置指標移動到檔案中任何位置,三個基準點如下

seek_set : 0 表示檔案開頭

seek_cur : 1 表示位置指標當前位置

seek_end : 2 表示檔案末尾

ftell函式可以用返回值報告當前位置指標相對於檔案開頭的距離

fgets可以從檔案中讀乙個字串。

fputs可以把乙個字串寫入到檔案中。

fprintf函式可以按照格式把資料寫入到檔案中

fscanf函式可以按照格式從檔案中讀資料到變數中

atoi函式可以把字串中的整數讀出

atof函式可以把字串中的浮點數讀出

sprintf函式可以把多個變數的內容拼湊成乙個字串

sscanf函式可以從字串中讀出多個資料並記錄在多個變數中

/*指標陣列練習

*/#include

int main(int argc, char *argv) , loop = 0;

int *p_value = null;

int *p_values[3] = ;

/*p_value = p_values[0];

p_values[0] = p_values[1];

p_values[1] = p_value;*/

p_value = p_values[1];

p_values[1] = p_values[2];

p_values[2] = p_value;

p_value = p_values[0];

p_values[0] = p_values[1];

p_values[1] = p_value;

for (loop = 0; loop <= 2; loop++)

printf("\n");

return 0;}/*

字串排序練習

*/#include

#include

#include

int compare(const void* p_value, const void* p_value1)

int main() ;

int loop = 0;

qsort(str, 5, sizeof(char*), compare);

for (loop = 0; loop <= 4; loop++)

return 0;}/*

陣列指標練習

*/#include

int main() ;

//int **pp_values = values;

int (*p_values)[3] = values;

/*printf("%p\n", pp_values[0]);

printf("%d\n", pp_values[0][0]);*/

printf("%d\n", values[0][0]);

printf("%d\n", p_values[0][0]);

values[1][1] = 3;

printf("%d\n", p_values[1][1]);

printf("%p, %p\n", p_values, p_values + 1);

printf("%p, %p\n", values, values + 1);

return 0;}/*

檔案練習

*/#include

int main()

return 0;}/*

檔案練習

*/#include

int main()

pos++;

}fclose(p_file);

p_file = null;

}return 0;}/*

檔案練習

*/#include

int main()

printf("\n");

fclose(p_file);

p_file = null;

}return 0;}/*

檔案練習

*/#include

int main()

fclose(p_file);

p_file = null;

p_file = fopen("a.txt", "w");

if (p_file)

size--;

}fputc('\n', p_file);

fclose(p_file);

p_file = null;}}

return 0;}/*

檔案練習

*/#include

int main() ;

file *p_file = fopen("a.bin", "wb");

if (p_file)

return 0;}/*

檔案練習

*/#include

int main() , loop = 0;

file *p_file = fopen("a.bin", "rb");

if (p_file)

printf("\n");

fclose(p_file);

p_file = null;

}return 0;}/*

檔案練習

*/#include

int main()

return 0;}/*

變長引數函式練習

*/#include

#include

int max (int cnt, ...)

}va_end(v);

return ret;

}int main()

static void trace(const char *format, ...)}*/

#include

#include

int main() ;

int value = atoi("328");

double d = atof("4.78");

printf("value是%d\n", value);

printf("d是%lg\n", d);

printf("%d %lg\n", value, d);

sprintf(str, "%d %lg\n", value, d);

printf("%s", str);

value = 0;

d = 0.0;

sscanf(str, "%d %lg", &value, &d);

printf("value是%d,d是%lg\n", value, d);

return 0;

}

Go語言基礎(十一)Map

map 是一種無序的鍵值對的集合。map 最重要的一點是通過 key 來快速檢索資料,key 類似於索引,指向資料的值。map 是一種集合,所以我們可以像迭代陣列和切片那樣迭代它。不過,map 是無序的,我們無法決定它的返回順序,這是因為 map 是使用 hash 表來實現的。func main m...

十一 C 基礎學習 1

1.decimal 型別的浮點數 decimal擁有比float更高的精度,最高能處理到小數點後面的28位 定義乙個decimal型別的浮點數 decimal d 12.30m 2.佔位符 用 作為佔位符,直接上例子 輸出結果 第乙個數字是 10,第二個數字是 20,第三個數字是 30 第乙個數字是...

C語言程式設計(十一)11 14

8複習 陣列 通過下標,借助迴圈,處理批量同型別的資料 1 陣列定義 型別 陣列名 常量 說明 型別任意合法的型別,陣列元素的型別 陣列名,任意合法的識別符號,代表陣列的首位址,是乙個位址常量 常量,代表陣列元素的個數 int x x 6 int a x 錯誤,陣列大小不能是變數 2 陣列元素的引用...