c99

    0熱度

    1回答

    編輯問題是:「‘strnlen’的功能隱式聲明」:我怎麼刪除警告/EDIT 編譯(特殊切下的測試只有一個的#include) #include <string.h> void DeleteMe(){ const char* pC = "ABC"; int nLen = strnlen(pC, 255); char buffer[256]; strncpy(

    0熱度

    3回答

    所以我有這樣的結構: struct state { int previous[2]; int current[2]; bool pen; }; typedef struct state state; 在我使用這個作爲一個參數的一些功能,例如: void new_state(&s, char *file, int i, int j){ int new

    -3熱度

    1回答

    我有一個char數組,它是以下形式: [17字符,一個標籤炭,17個字符,一個標籤炭,17個字符,一個標籤char,代表長度爲1到4位數字的char,空字節] 我想存儲位於tab變量和空字節之間的字符在新變量中。 例1:這可能是我的字符數組: [1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6 ,如圖7所示,\噸,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,\

    1熱度

    1回答

    中無效,我以前使用過pod'FMDB/SQLCipher',並且它是OK。現在它說「隱式聲明的函數'sqlite3_rekey'在C99中是無效的」我試圖解決這個問題,但它不起作用,我該怎麼辦?

    0熱度

    1回答

    我已閱讀this但接受的答案對我來說沒有意義。我應該能夠定義C99枚舉作爲 enum WeekDays { MON, TUES, WED, THURS, FRI, SAT, SUN }days; 和利用作爲枚舉作爲 days = FRI; if (days == FRI) { printf("Thank God it's Friday!"); } 爲什麼在接受

    0熱度

    5回答

    好吧,雖然關於void*,The C Programming Language (K&R)和The C++ Programming Language (Stroustrup)這樣的書籍的詳細資料Stack很混亂。我學到了什麼? void*是一個沒有推斷類型的泛型指針。它需要轉換爲任何已定義的類型,並且打印void*只是產生地址。 我還知道什麼? void*不能被解除引用,並且迄今爲止仍然是C/C+

    0熱度

    1回答

    在C,柔性陣列構件的語法如下: struct s { int n; double d[]; // flexible array member }; 而且,零尺寸數組中C.非法 如果我聲明陣列是這樣的: struct s { double d[0]; // Zero size array }; GCC給出警告: warning: ISO C forbid

    2熱度

    2回答

    C99和C11中的有效類型規則規定,沒有聲明類型的存儲可以用任何類型寫入,並且存儲非字符類型的值將相應地設置存儲的有效類型。 拋開INT_MAX可能小於123456789的事實,以下代碼對有效類型規則的使用是否嚴格符合? #include <stdlib.h> #include <stdio.h> /* Performs some calculations using using int,

    3熱度

    3回答

    爲什麼int16_t complex不能編譯,而在x86和x86_64機器上的int16_t,是short int上的typedef?以下是使用C99和C11標準對gcc 5.4和4.9進行測試的示例代碼。編譯器抱怨在聲明說明符中有兩個或多個數據類型。 代碼: #include <complex.h> #include <stdint.h> #include <stdio.h> int m

    5熱度

    1回答

    作爲比較操作數的結構不可用是C中更明顯的事情之一,對我來說沒有太大意義。結構可以按值傳遞並通過賦值複製,但==未指定。 以下是C11標準(草案)的相關部分,它們定義了等號運算符(==和!=)和簡單賦值運算符(=)的約束條件。請注意在平等運營商的限制下缺乏結構和聯盟。 (除了缺少處理_Atomic C99的措辭是相同的)。 6.5.9公平運營商 約束 下列情況之一的應持有: 兩個操作數的算術類型;