文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>指针指向字符串赋值问题

指针指向字符串赋值问题

时间:2010-10-22  来源:dlczh

指针与数组可以同样使用:

char *p;
char a[]=”djkasgjkldsagjds”;

1#include<stdio.h>
 2#include<string.h>
 3
 4
 5int main (int argc, char **argv)
 6 {
 7 char *p;
 8 char a[] = "dfajsklgjadklsg";
 9
10 //p = a; //ok;  直接将数组的地址赋给指针变量;

11 //*p = a[5]; //segmentation fault;俗称野指针,指针指向地址的值已经知道,但是指针没有被初始化,也就指针没有指向。

12 //p = &(a[5]); //ok ; point to the 6th element;指针指向数组的第六个元素

13 //p = "dfajsklgjadklsg"[5]; 

// In function 'main':
// warning: assignment makes pointer from integer without a cast
//这个意思是将这串数据的第六个元素值作为p(地址)的值。显然错误。

//变换一下为:x[]="dfajsklgjadklsg";p=x[5];

其中错误提示为:参数没有真确赋值??就是赋值不匹配的意思。=前是指针,=后是字符。

14 //*p = "dfajsklgjadklsg"[5] ;同11行。

15 p= &("dfajsklgjadklsg"[5]); //ok;真确取值

16 printf("%s\n",p);
17
18 }


正确的情况下打印为:

klgjadklsg

从第六个元素开始打印字符。
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载