1.字符指针
字符指针就是指向一个字符的指针,最简单的例子如下:
#include<stdio.h>
#include<windows.h>
int main()
{
char str='a';
char *p;
p=&str;
printf("str:%c\n",*p);
system("pause");
return 0;
}
2.字符串指针
字符串指针就是指向一个字符串的指针,c语言可以这样定义字符串
#include<stdio.h>
#include<windows.h>
int main()
{
int i;
char *str="hello word";
printf("%s\n",str);
for(i=0;str[i];i++)
{
printf("%c",*(str+i));
}
system("pause");
return 0;
}
或者这样
#include<stdio.h>
#include<windows.h>
int main()
{
int i;
char a[] = "hello world";
char *p;
p = a;
for (i = 0; a[i]; i++)
{
printf("%c", *(p+i));
}
system("pause");
return 0;
}
在内存中,每个字母的地址都是连续的,占一个字节。
#include<stdio.h>
#include<windows.h>
int main()
{
int i, j;
char b[2][12] = { "hello world","how are you"};
char *p;
p = &b[0][0];
for (j = 0; j < 24; j++)
{
printf("%c", *(p+j));
}
printf("\n");
system("pause");
return 0;
}