C語言基礎不過關踩過的坑

2021-09-01 12:40:36 字數 1099 閱讀 9824

浮點型數存在整型陣列中

純連續數字的字串轉化為對應的整型值

在stm32開發中在計算陣列實際長度時出現有時候長度計算出錯

strlen()用來計算指定的字串s 的長度,不包括結束字元"\0"。

如果用來計算字串中賦值操作中的有乙個值十進位制為0(asiic碼對應字元』\0』),則只能計算這個十進位制為0數之前的陣列長度。如果陣列第乙個成員十進位制為0則計算的長度為0,第2個成員為0則計算的長度為1,也就是說計算陣列中第乙個為零的成員為止,如果成員中都沒有十進位制為0的成員則會在記憶體中一直尋找十進位制為0,直到找到』\0』輸出此時的長度,這個值就很隨機了。

在stm32開發中上位機傳送放在整型陣列中的浮點型資料,下位機如何將浮點型資料快速取出來

看看之前是怎麼取出來的

u8 recvfrompcbuf[1024]; //這是串列埠接收快取裡面有上位機傳送來的浮點型資料

float vall = 0;

現在實現的操作記錄下,以後別在打臉假裝高手各種指標取位址操作到最後還是花架子

u8 recvfrompcbuf[1024]; //這是串列埠接收快取裡面有上位機傳送來的浮點型資料

float vall=0,valr=0;

memcpy(&vall,&recvfrompcbuf[4],sizeof(vall)) ;

memcpy(&valr,&recvfrompcbuf[8],sizeof(valr)) ;

這樣就把字元陣列中4位字元組成的浮點型數取出來,真的不要太簡單,原因還是自己對記憶體分布及資料存放格式不熟悉導致很多浪操作

目標是將字串 "202002020001"轉化為十進位制的 202002020001值

long int str2int32(char* buff)

value += (buff[i]-'0')*v;

} return value;

}

C語言踩過的關於指標的坑!!!

指標是c語言的一大特色,也是一大難點。下面就分享下我在學習c語言的路上踩過的坑,警示自己,也警示後來人。先上 include include typedef struct hstring void strassign hstring s,char chars else s length len vo...

OC 執行時語言踩過的坑

最近 遇到了兩次oc 執行時語言的坑,這讓我對此感到深深的敬畏,貼此 警示後人 碰到最多的是,可變陣列nsmutablearray的排序,從伺服器拿下來的array的陣列,進行直接賦值,不幸將nsmutablearray的型別由 nsmutablearray變成了nsarray,在進行接下來的排序時...

20200714 c 鏈結mysql踩過的坑

1.要引用mysql.data而不是sql.data 2.方法用mysqlconnection 而不是sqlconnection 3.裝完資料庫時,空密碼登不上。需要把安裝路徑 var lib mysql 裡的內容刪掉 4 mysql 8.0的引數修改檔案在 etc my.cnf.d mysql s...