C语言指针-字符指针&整型指针char*s int*a
Posted DQ_CODING
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言指针-字符指针&整型指针char*s int*a相关的知识,希望对你有一定的参考价值。
案例代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
//字符指针
char *pstr="good dog ww";
printf("字符指针指向的字符串内容:%s\\n",pstr);
printf("字符指针本身的地址:%p\\n",&pstr);
printf("字符指针指向的地址:%p\\n",pstr);
printf("字符串常量的地址:%p\\n","good dog ww");
printf("字符串的首个字符内容:%c\\n",*pstr);
printf("======================================\\n");
//字符数组
char c[]="hello";
printf("字符数组内容:%s\\n",c);
printf("字符数组地址:%p\\n",c);
printf("字符数组地址:%p\\n",&c);
printf("hello字符串常量的地址:%p\\n","hello");
printf("..........................\\n");
char *s="abcstring";
printf("s的内容:%s\\n",s);
printf("s本身的地址:%p\\n",&s);
printf("s指向的地址:%p\\n",s);
printf("abcstring字符串常量的地址:%p\\n","abcstring");
printf("...........................\\n");
s="hello";
printf("s的内容:%s\\n",s);
printf("s本身的地址:%p\\n",&s);
printf("s指向的地址:%p\\n",s);
printf("======================================\\n");
//整型指针
int a=1;
printf("a的值:%d\\n",a);
printf("a的地址:%p\\n",&a);
printf("...........................\\n");
int* b=&a;
printf("b的地址:%p\\n",&b);
printf("b指向的地址:%p\\n",b);
printf("b指向的内容:%d\\n",*b);
getchar();
return 0;
}
输出:
字符指针指向的字符串内容:good dog ww
字符指针本身的地址:0057FA7C
字符指针指向的地址:00EB5938
字符串常量的地址:00EB5938
字符串的首个字符内容:g
======================================
字符数组内容:hello
字符数组地址:0057FA6C
字符数组地址:0057FA6C
hello字符串常量的地址:00EB5888
..........................
s的内容:abcstring
s本身的地址:0057FA60
s指向的地址:00EB5810
abcstring字符串常量的地址:00EB5810
...........................
s的内容:hello
s本身的地址:0057FA60
s指向的地址:00EB5888
======================================
a的值:1
a的地址:0057FA54
...........................
b的地址:0057FA48
b指向的地址:0057FA54
b指向的内容:1
*
/
在函数中使用指针
#include<stdio.h>
#include<string.h>
//整型指针
int search(int *arr,int len,int find)
{
int i;
for(i=0;i<len;i++)
{
if(find==arr[i])
{
return i;
}
}
return -1;
}
//字符指针
char* increase(char* c)
{
int i;
for(i=0;i<strlen(c);i++)
{
c[i]=c[i]+1;
}
return c;
}
int main()
{
int arr[]={1,2,3};
int len=sizeof(arr)/sizeof(int);
printf("结果为:%d\\n",search(arr,len,3));
char c[]="ABCDEF";
printf("%s\\n",c);
increase(c);
printf("%s\\n",c);
getchar();
return 0;
}
以上是关于C语言指针-字符指针&整型指针char*s int*a的主要内容,如果未能解决你的问题,请参考以下文章