C语言指针问题 **s 中 s与&s的意义和关系

作者&投稿:于诞 (若有异议请与网页底部的电邮联系)
什么是编程语言框架~

领学网为你解答:
所谓框架就是写好的一大堆类,可以这么理解。 除了一大堆类以外还可能有一些规则, 比如命名,路径等。在遵循这个规则的情况下调用框架类库提供的方法。

另外框架跟开源不开源是没有关系的, 开源只是说你可以得到这个框架的源代码,而不开源的只是看不到源代码而已。

比如.net本身不是开源的,但有很多框架是开源的,比如最著名的servicestack

开源跟免费又是不同的概念,开源软件有很多不同种类的license,有些是可以随意修改使用的,有些是可以使用在非商业项目中的,有些则是需要付费的

编程语言的分类主要有:JavaScript、PHP、C、C++、java。
1、C语言:实模式、保护模式、调度、中断、调用栈、回调……基本上计算机科学里面的基本概念都会涉及。结构化编程,即将解决方案描述为一个清晰的过程,这其中会涉及数据的建模,接口的定义,项目整体的组织结构。
2、c++语言:虚函数、虚表、内联、多继承、const、泛型、模板(语言相关)opencv、OGRE、3D渲染、GPU、mesh、skeleton、帧循环、DX、GUI、MFC、Qt、消息队列、非阻塞IO。适合领域:多媒体、高性能网络服务器等较讲究效率的应用程序。

3、java:字节码、虚拟机、垃圾回收、接口、多线程、包、程序库、反射、框架、集成、组件、http、web、数据库、SSH、javaee。java的程序比较讲究扩展性和可维护性,一般会使用比较多的设计模式,常用的程序组织形式是MVC、监听者模式等。
4 、Javascript:闭包、对象、函数、CSS、DOM、Ajax、HTML5、node.js、V8。基于prototype的OO,以及基于闭包的函数式编程(后者用的更多)。常用代码组织形式:事件触发的回调机制(node.js与前端的区别是其自己定义、触发事件)、基于非阻塞异步IO的框架(node.js)。
5、PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。
参考资料来源:百度百科—编程语言

char *a="123";程序里开辟了一空内存,存放"123",并用指针*a指向它,char**s=&a,把a指向的地址赋给指针的指针**s,但是它没开辟内存空间。在你的程序中开辟内存空间只有char*a="123".
你可以用VS这IDE打断电调试,开内存的地址就知道了。
对于初学者,理解这有些难度,但是你多看看,多想想几次下来你就明白了,没啥难点。平时多看看C语言资料(如C语言必知495个问题,C++ PRIME等),几本书下来任何语言不成问题

此处s是一个指向char*(字符指针)的指针。
*s是s所指向的指针的值(一个内存地址),**s是s所指向的指针所指向的字符的值。
&s是取得s变量在内存中的地址。

a 指针,指向字符串常量
s 是a的地址,也可以说是指向a指针的指针
*s 这个就是a指针
&s 二级指针s的地址,或者说指向这个二级指针的指针


阎良区19750367323: 在c语音中*s和&s有什么区别 -
伊凭普洛: *s(s必须是指针,否则出错)表示取出s地址的内容.&s 表示取出s的地址.

阎良区19750367323: 请问*S和&S什么区别呢?请大侠指点 -
伊凭普洛: 在C语言中:1.首先你要了解指针,假设,int s=10;则此时,&s表示的是变量s的地址. 举例 scanf(“%d”,&s);2.若你定义指针变量的时候则,两种方式,一种定义的时候就赋值,int *S=10;另一种,先定义后赋值,int *S ;*S=10;两种情况下...

阎良区19750367323: c语言中在指针s作为函数返回值时s=&t与*s=t的分别 -
伊凭普洛: 前面的是返回t的地址,后面则是将t 的值保存到s所指向的内存空间中.在函数中,不能返回局部变量的地址,因为函数结束后,局部变量就被释放了,如否t 是局部变量,则前面这种做法是不允许的,而后面的做法中,s 所指向的空间必须有大小,不允许为空和野指针.再看看别人怎么说的.

阎良区19750367323: C语言 指针 函数调用 *s=&m是什么意思? -
伊凭普洛: int **s; // s 是个二级整型指针,则 *s 是一级整型指针 int m; //m 是个整型数据*s = &m; //表示 s指向的内容中存放的是 m 的地址,那么要通过 s 取m变量中值话,则需要使用 **s才行,即 (**s == m)

阎良区19750367323: c/c++语言*&s是什么意思s是一个结构体类型在向一个函数传参的时候用*&s传参,他代表的是什么意思啊 -
伊凭普洛: &s是地址,*是指针.*&s是指指向&s地址的指针 j = *&s就是j = s的意思

阎良区19750367323: c语言中"*s"这是什么意思 -
伊凭普洛: 你好,*s表示s是一个指针.*s表示s指针指向的相应变量的值. 比如. int *s; int a = 10; s = &a; *s这个时候指向的是int类型的变量a,*s等于a的值,也就是10.

阎良区19750367323: c语言中*P=&S与*P=S有区别吗? -
伊凭普洛: 区别大了 如果是 这样 int s int *p=&s 没有任何问题,p指向了 s的地址空间,&就是取地址的意思如果是这样 int s int *p *p=&s//正确是 p=&s; 就有问题了,p是个指针,没有赋值,就对指向的空间赋值,那就错了,因为p指向的位置不确定.并且&s是取s的内存位置

阎良区19750367323: 在c语言中 s=&t;是什么意思 -
伊凭普洛: 取首址与s相加,并将相加结果赋值给s. 完整的伪码可以理解为: int a[10]={1,2,3,4,5,6,7,8,9,10}; int s=18; int i=7; s=s+a[7]=18+8=26;

阎良区19750367323: C语言中*S=&P和S=*P有什么区别吗???求详解...
伊凭普洛: *S=&P和S=*P *S=&P 这是把P的地址赋给S所指的地址区域,S必是指针,或地址,P可以是指针,但一般来说是普通变量. S=*P 这是把P指向地址的存值赋给变量S,P必是指针,或地址,S可以是指针,但一般来说是普通变量.

阎良区19750367323: c语言中,s–>s是什么意思?和*s可以互用吗? -
伊凭普洛: 指针引用结构体变量成员的方式(*p).num=p->num 可以看看这个链接的知识点 http://m.biancheng.net/view/246.html

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网