我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 指针 >

c语言指针变量问题

归档日期:09-05       文本归类:指针      文章编辑:爱尚语录

  c 语言中,形式逻辑不成立,指针书写的外形,在声明中和在语句中,外貌相同,意思不同!

  语句中 *ptr 表示 指针指向的数值, ptr 表示 指针指向的地址。有*的是值,没星号的是地址。

  语句里,&ptr[i] 等价于 (ptr+i) ,是地址。等于: ptr的地址+i * sizeof(int)。

  ptr是指针变量,但是ptr[i]不是指针变量,ptr[i]可以理解为一个int型变量。

  使用scanf存入时,&并不是加在ptr上,而是加在ptr[i]上,取的是ptr[i]的地址。[ ]的运算优先级高于取地址符&。

  1、给指针变量赋初值在语法上是没有错误的,编译执行也可以通过,但是一旦代码量增多后,很容易造成指针的错用,为了防止这一问题最好将指针变量定义的时候就置成NULL,这样做是为了代码安全着想。 2、指针定义后就会随机指向一个位置的,编译的时候也不会提示错误,程序短很容易找出来,长了多了就难找了,所以这是一个好习惯吧。

  是根据输入的num的大小动态申请数组的方法。ptr是一个指针(同时也是ptr数组的数组名)

  的作用,只是这两都分别从系统的位置不同区域申请内存(初学者可暂时忽略这一点,使用上是完全一样的)。

  ptr[i]就是这个数组中的一个成员,加上取地址符&,就是告诉C系统,读取到的数据要存放的位置,

  scanf(%d,完全等同于scanf(%d,ptr+i);---------scanf函数的使用格式如此,必需要使用数据存放地址的。

  展开全部int *ptr是指针,malloc了num个int后,ptr指向这段连续的内存,ptr其实就是num个int的数组的头指针,也可以将ptr认为元素是int的数组。[]符号你可以认为是取值操作,那么ptr[0]或者*(ptr)就是第一个元素,ptr[1]或者*(ptr+1)就是第二个元素...

本文链接:http://masterblue.net/zhizhen/572.html

上一篇:C++中引用与指针的区别

下一篇:没有了