工具: Visual Studio
快捷键方式: www.jb51.net/softjc/1295…html
C语言中,指针是咱们常常见到的,通常放到基本类型后面一块儿表示指针的数据类型,表示一段内存地址数组
3区:bash
程序区微信
程序的二进制文件 eg:class, so文件工具
静态存储区
全局变量和静态变量 eg: int i = 2;ui
动态存储区spa
堆区(heap):用于程序动态分配 eg:Java 中的new一个对象,不连续的内存空间,C语言中不会被系统自动回收。不像Java中,有垃圾回收机制.net
栈区(stack):编译器自动分配,编译器自动申请和释放 2M, 方法一执行完就回收了指针
数组:数组就是一块连续的内存空间,每一个元素之间的距离跟数据的类型有关系code
数组名就是数组的首地址(即时数组的指针)
对数组名不断的取其地址获得的仍是数组的首地址
char * p = "helloworle";//表示申请一块内存地址,用于存储字符串常亮的地址复制代码
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
微信公众号:终端研发部