//指针变量就是用来存储地址的,只能存储地址
格式:  int  *p;  这个p为指针变量;指针变量占8个字节
类型是用来说明这个指针指向的类型; 比如上边的int代表这个指针变量会指向int类型的存储空间;
int *p = &a;//这样一句可以写,此时的*只是一个标志,表示这个*只是表示p是个指针;
*p = &a;//这样写就错了;此时*p表示取p指向的空间的值;
 
指针疑问:指针既然都占据8个字节,那么为什么要划分类型, 是因为当用*p指针取值或者赋值的时候,知道该取几个字节,比如int取4个字节,char只取一个字节;
 
指针和数组的关系
把一个数组名当做参数传递的时候,c编译器会把它变成一个指针;对一个指针加1,并不是加1,要看指针的指向的类型,如果是int那么指针就+4个字节
如果是char类型,那么指针地址就+1个字节;
 
指针和字符串的关系:
创建字符串的两种方式:
第一种:char数组创建字符串:
1—>  char name[] = “itcast”;
是一个字符串变量,可以通过  name[i] = ‘ ..’;来修改其中某个字符的值,
这种相当于一个字符串变量,一般存放在栈中,且经常修改值得情况;
第二种:指针创建字符串:
2—> char *name2 = “itcast”; //name2指向了字符串的第一个字符,即 i ;
相当于一个字符串常量,内容不可改变的; 放在常量区中;
当然一般我们不需要对字符串进行修改,且经常使用的字符串,就用指针来创建字符串;
%s这个占位符是用来输出字符串的,当用指针输出时,直接写上指针的名字即可;因为这个%s会自动从第一个地址往后找,知道\0;
 
创建字符串数组的两种方式:
第一种:二维字符数组:
char name[2][10] = {“jack” , “rose”};
 
第二种:指针数组:
char *name[5] = {“java” , “rose”};

C语言基础:指针类型与指针和数组、字符串的关系的更多相关文章

  1. c语言基础学习07_关于指针的复习

    ============================================================================= 指针变量之间赋值是需要兼容的. 例如:int ...

  2. C语言基础复习:字符,字符数组,字符串,字符指针

    1. 概述2. 字符2.1 字符定义和大小2.2 字符的输入和输出2.3 字符的计算3. 字符数组3.1 字符数组的定义和大小3.2 字符数组的输入和输出3.3 字符数组的计算4. 字符串4.1 字符 ...

  3. JSon_零基础_008_将JSon格式的"数组"字符串转换为List集合

    将JSon格式的"数组"字符串转换为List集合. 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, ...

  4. JSon_零基础_007_将JSon格式的"数组"字符串转换为Java对象"数组"

    将JSon格式的"数组"字符串转换为Java对象"数组". 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“n ...

  5. 黑马程序员——C语言基础 变量类型 结构体

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)变量类型 1)局部变量 1> 定义:在函数内部定义的变量,称为 ...

  6. go语言基础之类型别名

    1.类型别名 示例: package main //必须有一个main包 import "fmt" func main() { //给int64起一个别名叫bigint type ...

  7. CLR关于语言文化的类型一CultureInfo类和字符串与线程的关联

    .Net Frameword使用System.Globalization.Culture类型表示一个"语言/国家"对(根据RFC 1766标准).例如,'en-US'代表美国英语, ...

  8. 200-Java语言基础-Java编程入门-006 | Java数组定义及使用(引用数据类型)

    一.数组概述和定义格式说明 为什么要有数组(容器): 为了存储同种数据类型的多个值 数组概念: 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数据类型,也可以存储引 ...

  9. GO学习-(10) Go语言基础之指针

    Go语言基础之指针 区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针. 要搞明白Go语言中的指针需要先知道3个概念:指针地址.指针类型和指针取值. Go语言中的指针 任何程序数 ...

随机推荐

  1. Understand

    快捷键: Ctrl+Shift+H 折叠 Ctrl+Alt+F 替换

  2. Discuz!图片查看插件(支持鼠标缩放、实际大小、旋转、下载)

    Discuz!图片查看插件(支持鼠标缩放.实际大小.旋转.下载) 图片查看是网站中的常用功能,用于展示详细的图片.在discuz图片插件的基础上进行了改造,因此这篇文章主要从以下几个方面来讨论图片查看 ...

  3. javascript进阶-原型prototype

    一.javascript原型认识 很多编程语言都有类的概念,我们可以拿原型和类进行比较,看看它们之间的区别以及相同点在哪里. 1.类:类是一个具体事物的抽象所以类是一个抽象的东西,在面向对象中类可以用 ...

  4. 模仿Word中组织结构图的特点生成流程图

    //基本原理: // 1. 从下往上计算位置 // 2. 模仿Word中组织结构图的特点 //调用代码: Tree<string> tree = new Tree<string> ...

  5. .NET使用NPOI读取Word模板并替换关键字并下载

    NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 ...

  6. 好书推荐:《Game Programming Patterns》

    在线阅读点这里: http://gameprogrammingpatterns.com/contents.html 这是一个总结讨论和反思游戏客户端game play开发常用设计模式的书. 游戏开发和 ...

  7. some windowsphone templates

    http://inspirationfeed.com/freebies/20-free-windows-phone-7-mockup-and-wireframing-resources/

  8. 打造简单实用的Thinkphp分页样式(Bootstrap版本)

    先吐槽一下ThinkPHP3.1版的分页样式,虽然看起来也很简单大方,但是所有的页码全是使用简单的数字,之间的空隙比较小,不大容易点,还有那个“前5页”和“后5页”显得有点多余,因为点击当前显示第一页 ...

  9. 多线程更新已排序的Datagridview数据,造成数据错位

    多线程更新已排序的Datagridview数据,触发Datagridview的auto-sort时间,数据重新排序,造成后面更新数据的更新错误. 解决方法: 方法一.设置Datagridview的表头 ...

  10. 【Qt】Qt Creator介绍【转】

    简介 Qt Creator是使用Qt开发的IDE.Qt支持Windows.Linux/Unix.Mac OS X.Android.BlackBerry.QNX等多种平台,Qt Creator为不同平台 ...