原创 C++貪喫蛇程序

方向控制表 dir direct[dir] 行進方向 可轉的方向 0 {-1,0} 上 左右 1 {1,0} 下 左右 2 {0,-1} 左 上下 3 {0,1} 右 上下 #include <iostream> #include <

原创 純C的坑

1局部變量定義必須在函數或局部空間的開頭,然後纔能有其他語句。c++卻可以隨用隨定義的。  2不能在定義結構體時給變量初始化。因爲沒有給其分配內存,所以初值是無法存儲的。應該聲明結構體變量後,手工賦值。

原创 1008煤礦

中心站在井上,分站在井下。 比特率是數字信號的傳輸速率,它用單位時間內傳輸的二進制代碼的有效位(bit)數來表示,其單位爲每秒比特數bit/s(bps) 波特率 波特率指數據信號對載波的調製速率,它用單位時間內載波調製狀態改變次數來表示,

原创 指針到底能不能修改其指向的常量字符串?

1.指針到底能不能修改其指向的常量字符串?今天做一個字符串右移函數時,直接使用指針來修改字符串常量的值出現了奇怪運行時錯誤。  代碼如下: #include"stdio.h" #include"string.h" void LoopMo

原创 SysTick系統定時器

在前面的CLKSOURCE寄存器位也明確指明SysTick的時鐘源爲HCLK和HCLK / 8可選,然而在時鐘樹上卻並沒有體現時鐘源可選這個關鍵信息,可見這是數據手冊的漏洞,功能實現以寄存器的說明爲主而非時鐘樹:SysTick的時鐘源並非

原创 STM32 IO口的八種方式的解釋(轉)

  1、上拉輸入:上拉就是把電位拉高,比如拉到Vcc。上拉就是將不確定的信號通過一個電阻嵌位在高電平!電阻同時起限流作用!弱強只是上拉電阻的阻值不同,沒有什麼嚴格區分。 2、下拉輸入:就是把電壓拉低,拉到GND。與上拉原理相似。 3、浮空

原创 搜狐暢遊測試開發一面試題..

面試很簡短,自我介紹、問玩過什麼遊戲,有沒有衝過錢,有什麼體會。 C++很基礎的問題: 1、指針和引用的區別 指針變量存儲的是一個地址,指向一個存儲單元,引用只是個別名,不額外佔用內存。 指針可以有多級 int **p,而引用不可以。 指

原创 c++小記

1.win32位系統,vc編譯器中,char佔1字節、short佔 2 字節、int ,float,long都佔4字節、double 佔8 字節.----------------------------------------------

原创 C++貪吃蛇程序

方向控制表 dir direct[dir] 行進方向 可轉的方向 0 {-1,0} 上 左右 1 {1,0} 下 左右 2 {0,-1} 左 上下 3 {0,1} 右 上下 #include <iostream> #include <

原创 多繼承多態

#include "iostream" using namespace std; /* C++中沒有接口的概念 C++中可以使用純虛函數實現接口 接口類中只有函數原型定義,沒有任何數據的定義。 */ class Interface1

原创 C語言產生野指針的原因

#include <iostream> #include <string> using namespace std; void main(){ int a = 10; int b = 20; int c=0; int *p =

原创 字符串常量到底存在哪了?

常量存儲總結 局部變量、靜態局部變量、全局變量、全局靜態變量、字符串常量以及動態申請的內存區 1、局部變量存儲在棧中 2、全局變量、靜態變量(全局和局部靜態變量)存儲在靜態存儲區 3、new申請的內存是在堆中 4、字符串常量也是存儲在

原创 switch中的break和語句執行順序的問題

一、Break的作用:1.用於switch語句中,從中途退出switch語句。 2.用於循環語句中,從循環體內直接退出當前循環。重點看1. 1.case後面的常量表達式實際上只起語句標號作用,而不起條件判斷作用,即“只是開始執行處的入口標

原创 指針到底能不能修改其指向的常量字符串?&向NULL地址copy數據

說明錯誤應該是指針p指向字符串常量導致。運行時出現錯誤:LoopMove.exe 中的 0x00cf141c 處有未經處理的異常: 0xC0000005: 寫入位置 0x00cf5748 時發生訪問衝突。 從錯誤的類型來看是內存寫入錯誤

原创 字典序排列

/*字典序排列 輸入要比較的字符串數目並輸入,輸出它前面字典序比他小的字符串個數*/ #include <stdio.h> #include <iostream> #include <stdlib.h> #include <string