分享免费的编程资源和教程

网站首页 > 技术教程 正文

让你秒懂C语言字符串与指针

goqiw 2024-09-20 22:54:39 技术教程 38 ℃ 0 评论

一维数组和一维数组和指针

1、数组名就是数组的首地址。

int a[10]; a就是首地址 int*p=a;

二维数组和指针

int a[3][5]

行地址:a+0(&a[0]) a+1(a[1]) a+2(&a[2])

列地址:a[0]+0 a[0]+1 a[0]+2 a[0]+3 a[0]+4

注意:利用指针引用二维数组关键记住:*(a+i) a[i]等价一维数组和指针(加入C语言C++学习交流群560655063获取大量学习资料)

1、数组名就是数组的首地址。

int a[10]; a就是首地址 int*p=a;

1、字符串与指针

字符串指针指向一块内存,存放字符串。

1、怎样去访问字符串?

a、用字符数组去一个一个去访问。

b、用指针去访问(可以省略掉数组的定义)

2、字符串指针的定义和赋值。

char *p = "Hello";

char *p;

p = "Hello";

//==========================字符串指针的简单运用

#include<stdio.h>

int main()

{

char a[6] = "Hello"; //1

char *p = a;

//char *p = "Hello"; //2

//char *p; //3

//p = "Hello";

printf("%s\n", p); // %s 挨着打印地址里面的字符 遇到'\0'

printf("%s\n", a);

printf("%c\n", *p); //'\0' %c

printf("%d\n", *p);

return 0;

}

程序 标识符 关键字 运算符 每一个符号出现的时候 这个符号是什么。(加入C语言C++学习交流群560655063获取大量学习资料)

//%d %c %e 打印的都是一个变量里面的内容 char 1 int 4 float 4

//%s 打印连续内存里面的内容 遇到'\0'结束

////////////////////////////////////////////////////////连接两个字符串

#include<stdio.h>

int main()

{

//字符数组的一个特点 定义数组的时候,内存开辟的大小是确定的。

char a[100] = "Hello";

char b[100] = "World";

char *p1 = a, *p2 = b;

printf("移动前:%d\n", p1);

for (; *p1 != '\0'; p1++);

printf("移动后:%d\n", p1);

for (; *p2 != '\0'; p1++, p2++)

*p1 = *p2;

printf("%s\n", a);

return 0;

}

2、字符串数组

//字符数组

char a[6] = "Hello";

//字符串数组

char name[6][15] =

{

"Faker",

"Gragon",

"Liangren",

"Banhave",

"Jack",

"Hualuo"

};

//字符串指针数组 里面的每一个元素都是指针

char *pName[] =

{

"Faker", //6

"Gragon", //

"Liangren",//9

"Banhave",

"Jack", //5

"Hualuo"

};

//字符串指针数组的输入输出

#include<stdio.h>

int main()

{

////字符数组

//char a[6] = "Hello";

////字符串数组(加入C语言C++学习交流群560655063获取大量学习资料)

//char name[6][15] =

//{

// "Faker", //6

// "Gragon", //

// "Liangren",//9

// "Banhave",

// "Jack", //5

// "Hualuo"

//};

//printf("%d\n", &name[0]); // 15

//printf("%d\n", &name[1]); //15

//字符串指针数组 里面的每一个元素都是指针

char *pName[] =

{

"Faker", //6

"Gragon", //

"Liangren",//9

"Banhave",

"Jack", //5

"Hualuo"

};

printf("%d\n", pName); //地址

printf("%d\n", pName+1); //p1+1

for (int i = 0; i < 6; i++)

{

printf("%s\n", *(pName + i));

}

return 0;

}

/*

指针数组 所有元素都是指针

数组指针 一个指针 指向一个数组 元素不一定 int char float

函数和指针: 指针跟函数 二级指针与函数 数组和函数 二维数组和函数

*/

喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C++学习交流 560655063群内有大量的项目开发和新手教学视频千人大群等着你来加入。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表