这样给数组初始化,你肯定没有见过
生活随笔
收集整理的這篇文章主要介紹了
这样给数组初始化,你肯定没有见过
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天在朋友圈看到一個朋友發的圖片
是給數組初始化的代碼
截圖如下:
我看到這個代碼,也讓我著實驚了一下,寫代碼這么久,也沒有見過這樣子初始化的。
這個代碼是出自海思的SDK里面的,華為的大牛還是很多啊,學習C語言的話,如果能把一份SDK代碼看明白,看完,那是比看多少課程都會收獲更多的。
我測試下這個代碼
#include?"stdio.h"#define?MAX 10char?array[MAX] = { [0?...(MAX-1)] = '8'?}; //char array[MAX] = {'A'};int?main(void){for(int?i = 0; i< MAX; i++)printf("array[%d]=%c\n",i,array[i]);return?0; }代碼輸出:
如果我用這樣的方式初始化呢?
#include?"stdio.h"#define?MAX 10//char array[MAX] = { [0 ...(MAX-1)] = '8' }; char?array[MAX] = {'A'};int?main(void){for(int?i = 0; i< MAX; i++)printf("array[%d]=%c\n",i,array[i]);return?0; }代碼輸出
當然,我們還可以這樣初始化
#include?"stdio.h" #include?"string.h"#define?MAX 10//char array[MAX] = { [0 ...(MAX-1)] = '8' }; char?array[MAX];int?main(void){int?i;memset(array,'B',MAX);for( i = 0; i< MAX; i++ )printf("array[%d]=%c\n",i,array[i]);return?0; }代碼輸出
最近重新看Linux內核代碼,里面的C語言有很多精彩的地方,以后可以慢慢給大家說。還有一件事,Linux里面很多垃圾的代碼也很多,特別是設備驅動,廠商的很多設備驅動寫的并不是我們想象中的好,如果想提交patch給Linux內核社區,可以從這方面去找找。
最后,如果覺得不錯,大家順手點個贊,轉發就是對我最大的鼓勵和支持!
長按識別二維碼關注公眾號
總結
以上是生活随笔為你收集整理的这样给数组初始化,你肯定没有见过的全部內容,希望文章能夠幫你解決所遇到的問題。