指针字符数组输出_字符串数组和字符数组的区别

指针字符数组输出_字符串数组和字符数组的区别指针的指针、字符串和指针、数组指针(详)一、指针的指针   指针的指针,即指针的地址   定义了一个指针变量,指针变量本身占4个字节,指针变量也有地址编号例:   int a=0x1234

指针的指针、字符串和指针、数组指针(详)   一、指针的指针      指针的指针,即指针的地址      定义了一个指针变量,指针变量本身占4个字节,指针变量也有地址编号   例:      int a=0x;      假设a的地址为:0x0000 2000      int *p;      p=&a;      则p中存放的是a的地址编号为0x0000 2000      因为p也占4个字节,有自己的地址编号,即指针变量的地址,即指针的指针      假设p的地址编号为0x0000 3000,这个地址是指针p的地址      定义一个变量去存放p的地址编号,这个变量就是指针的指针      int q;         q=&p;//q就保存了p的地址,也可以说q指向了p     则q里存放的就是0x00003000   
指针字符数组输出_字符串数组和字符数组的区别    p和q都是指针变量,都占4个字节,都是存放地址编号,只是类型不一样   二、字符串和指针   字符串的概念:               字符串就是’0’结尾的若干的字符的集合:”hello”               字符串的地址:是第一个字符的地址,字符串”hello”的地址,其实就是字符串中’h’的地址,即我们可以定义一个变量保存字符串的地址:char *s=”hello”;   字符串的存储形式:数组、文字常量区、堆           1.字符串存在数组中   其实就是在内存(栈、静态全局区)中开辟了一段空间存放字符串。   char str[100]=”hello”;   定义了一个字符数组str,用来存放多个字符,并且用hello给str数组初始化,字符串”hello”,存放在str中              注意:普通全局数组,内存分配在静态全局区                    普通局部数组,内存分配在栈区                    静态数组(静态全局数组、静态局部数组),内存分配在静态全局区           2.字符串存放在文字常量区      在文字常量区开辟了一段空间存放字符串,将字符串的首地址赋给指针变量        char *str=”helloworld”;   定义了一个字符指针变量str,只能存放字符地址编号,    “helloworld”这个字符串中的字符不是存放在str指针变量中   str只是存放了字符’h’的地址编号,“helloworld”存放在字符常量区           3.字符串存放在堆区      使用malloc等函数在堆区申请空间,将字符串拷贝到堆区      char *str=(char *)malloc(100*sizeof(char));//动态申请了100个字节的存储空间      首地址给str赋值     strcpy(str,”helloworld”);//将字符串”helloworl

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/59744.html

(0)
上一篇 2024年 8月 30日 上午8:39
下一篇 2024年 8月 30日 上午8:43

相关推荐

关注微信