C语言指针 你都了解了吗,你正真了解C语言中的指针吗

工具: 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

数组名就是数组的首地址(即时数组的指针)

对数组名不断的取其地址获得的仍是数组的首地址

409edbbfc9a21503b9981758ac2486c0.png

数组代码

285530dc5a61ff081e4e771df3232c49.png

输出代码

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

微信公众号:终端研发部

技术+职场

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值