工具: Visual Studio
快捷鍵方式: www.jb51.net/softjc/1295…
C語言中,指標是我們經常見到的,一般放到基本型別後面一起表示指標的資料型別,表示一段記憶體地址
記憶體的分類:
3區:
程式區
程式的二進位制檔案 eg:class, so檔案
靜態儲存區
全域性變數和靜態變數 eg: int i = 2;動態儲存區
堆區(heap):用於程式動態分配 eg:Java 中的new一個物件,不連續的記憶體空間,C語言中不會被系統自動回收。不像Java中,有垃圾回收機制
棧區(stack):編譯器自動分配,編譯器自動申請和釋放 2M, 方法一執行完就回收了
指標和數值之間的關係
陣列:陣列就是一塊連續的記憶體空間,每個元素之間的距離跟資料的型別有關係
陣列名就是陣列的首地址(即時陣列的指標)
對陣列名不斷的取其地址得到的還是陣列的首地址
C語言中怎麼表示字串
- 用指標表示
char * p = "helloworle";//表示申請一塊記憶體地址,用於儲存字串常亮的地址複製程式碼
- 用陣列表示
```
char str1[] = "HelloWorld"; // 通過字元陣列來定義字串"HelloWorld",陣列中每個儲存單元存放一個字元
har s[80]="abcd";或者char s[80]={"abcd"}; /說明:自動加字串結束標誌:\0/
char s[80]={"a","b","c","d","\0"};
複製程式碼
char *str2 = "HelloWorld"; // 通過字元指標來定義字串"HelloWorld",指標str2指向一個存放字串"HelloWorld"的連續地址單元的首地址
#define str3 "HelloWorld"; // 通過巨集定義來定義字串"HelloWorld",等價於str3="HelloWorld"
#### 陣列的初始化複製程式碼
strcpy();
#### 指標的初始化複製程式碼
malloc();
#### 結構體的定義
#### 結構體的例項化複製程式碼
struct MM{
char name[20];
int age;
} mm = {"終端研發部",20};
int _tmain(int argc, _TCHAR* argv[]){
//第一種方法初始化
MyStruct stu1 = {"終端研發部",20};
// 第二種
struct Student student2;
student2.age = 27;
student2.name = "asdfgsdf";
strcpy(stu2.clazz,"終端研發部");
printf("%s\n %s\n %d\n", stu1.name, student2.clazz,student2.age);
system("pause");
return 0;複製程式碼
}
報錯解決方式:複製程式碼
_CRT_SECURE_NO_DEPRECATE
```
相信自己,沒有做不到的,只有想不到的
如果你覺得此文對您有所幫助,歡迎入群 QQ交流群 :232203809
微信公眾號:終端研發部