C語言關於指標,gets()和gets_s()函式的理解
使用const修飾一個指標
int a[5] = {0, 1, 2, 3, 4};
//第一種,指標p1不能修改指向地址上的值。
const int * p1 = a;
//第二種,指標p2不能更改它所指向的地址。
int * const p2 = a;
//第三種,指標p3既不能修改指向地址上的值,也不能更改它所指向的地址。
const int * const p3 =a;
二維指標
-
二維指標的兩種宣告。
int (*p)[4]; //宣告陣列指標,意為指向陣列的指標。加括號是因為[]的優先順序高於* int * p[4]; //宣告指標陣列,意為宣告瞭一個含有4個指標的陣列,陣列中每個元素都是指標
-
二維地址轉換的一些等價關係,可以方便理解行地址、列地址。
a[x] == *(a+x)
a[x][y] == *(*(a+x) + y) -
二維陣列陣列地址、陣列內容和指標之間的關係圖。
-
二維陣列的行地址、列地址關係圖。
指標函式和函式指標
指標函式就是返回型別是指標的函式。例如:
int * fun(int x,int y); //宣告瞭一個返回指向int型別的指標的指標函式
函式指標,其本質是一個指標變數,該指標指向一個函式。例如:
int add(int x,int y){
return x+y;
}
int (*fun)(int x,int y); //函式指標
int main(){
fun = add;
int res = (*fun)(1,2); //res結果是3
return 0;
}
gets()函式與gets_s()函式
gets()函式是不幸的,由於gets()唯一的引數words無法檢查陣列是否裝得下記憶體。gets()只知道陣列的開始處,並不知道陣列中有多少個元素。如果輸入的字串過長,會導致緩衝區溢位,即多餘的字元超出了指定的目標空間。如果這些多餘的字元只是佔用了尚未使用的記憶體,就不會立即出現問題;如果它們擦寫掉程式中的其他資料,會導致程式異常。因此,在C11標準中已經廢除了gets()函式,即使它有時候非常好用。在PTA平臺上交C/C++程式碼時,如果使用了gets()函式也會報錯。
gets_s()可作為gets()函式的替代品,它的完整形式是:
gets(words,LEN);
限制了讀書字串的長度。如果讀到換行符,就會捨棄它並且停止。
ets_s()可作為gets()函式的替代品,它的完整形式是:
gets(words,LEN);
限制了讀書字串的長度。如果讀到換行符,就會捨棄它並且停止。
相關文章
- C語言關於回撥函式和this指標探討C語言函式指標
- C語言 函式指標C語言函式指標
- python高階函式和C語言函式指標Python函式C語言指標
- C語言函式指標基礎C語言函式指標
- C語言函式指標與回撥用函式C語言函式指標
- C語言語法基礎--S2函式和指標C語言函式指標
- 對 “C語言指標變數作為函式引數” 的個人理解C語言指標變數函式
- 關於函式指標函式指標
- C語言函式指標與回撥函式使用方法C語言函式指標
- [C++] 成員函式指標和函式指標C++函式指標
- C語言函式手冊:c語言庫函式大全|C語言標準函式庫|c語言常用函式查詢C語言函式
- 指標函式 和 函式指標指標函式
- C語言指標(三):陣列指標和字串指標C語言指標陣列字串
- C語言 C語言野指標C語言指標
- C語言(指標)C語言指標
- C語言指標C語言指標
- c語言函式指標的定義C語言函式指標
- C/C++——指向函式的指標和指向函式的指標的陣列C++函式指標陣列
- C語言標準函式庫C語言函式
- 回撥函式(c和指標)函式指標
- 關於C++引用做為函式引數和指標作為函式引數C++函式指標
- 【不在混淆的C】指標函式、函式指標、回撥函式指標函式
- C語言函式傳遞指標引數的問題詳解C語言函式指標
- C語言-指標操作C語言指標
- C語言:指標,C的靈魂C語言指標
- typedef void (*Fun) (void) 的理解——函式指標——typedef函式指標函式指標
- C++中的函式指標和函式物件總結C++函式指標物件
- 木老師教笨笨課堂——系列講座(從函式指標到委託) 二、C語言裡的函式指標...函式指標C語言
- 包含min函式的棧(劍指offer)---C語言函式C語言
- c++ 函式指標C++函式指標
- C++(函式指標)C++函式指標
- 指標——C語言的靈魂指標C語言
- C語言指標和陣列基礎C語言指標陣列
- C語言知識彙總 | 51-C語言字串指標(指向字串的指標)C語言字串指標
- C語言的函式C語言函式
- C語言指標(二) 指標變數 ----by xhxhC語言指標變數
- c語言指標彙總C語言指標
- C語言指標學習C語言指標