关于C指针与数组的问题
在带你学C带你飞课程的s1e22课中,我有一个问题关于这一句
char *str = "I love FishC.com!"
这一句应该要怎么理解?为什么一个指向字符的指针可以赋值一个字符串?(大佬勿喷)
我可不可以认为,这句代码跟声明一个 str[]="I love..." 的字符串是等价的?
①char虽然是字符型的,但是并不代表只能用char来存储字符,int,float也可以存,ascll码表的范围是1~127,所以只要数据类型大小范围超过127就可以存字符,但是不一定能显示,而且数据类型只是一个大小的区别,和有符号无符号的区别。
②不是赋值字符串,是把这个字符串的首地址给了这个指针,和我代码这句是一个意思char *P=arr;
③不是等价的,数组是把你的字符串都存了起来,是数据存了起来,而指针只存地址
#include "stdio.h"
int main()
{
char arr[] = "I love FishC.com!";
char *P=arr;
printf("%c\r\n",arr);
printf("%c\r\n",*(P+3));
printf("\r\n");
printf("%s\r\n",arr);
printf("%s\r\n",P);
} 温良先生 发表于 2022-8-27 19:07
①char虽然是字符型的,但是并不代表只能用char来存储字符,int,float也可以存,ascll码表的范围是1~127, ...
有点理解你的意思了,容我再想想消化{:10_254:} 温良先生 发表于 2022-8-27 19:07
①char虽然是字符型的,但是并不代表只能用char来存储字符,int,float也可以存,ascll码表的范围是1~127, ...
请问 我用dev-c++来编写这一个程序,但出现了警告,为什么?
是两种语言本身的差异吗 额外减小 发表于 2022-8-28 12:00
请问 我用dev-c++来编写这一个程序,但出现了警告,为什么?
是两种语言本身的差异吗
你学的是C语言还是C++ ?
C语言和C++是不一样的
告诉我,C语言的源文件后缀是什么?
是 .cpp 吗?
C++中的字符串常量的类型可不是 char *
C++中的字符串常量的类型是 const char *
学习了{:10_256:} {:10_256:}{:10_256:}{:10_256:}{:10_256:} 人造人 发表于 2022-8-28 15:49
你学的是C语言还是C++ ?
C语言和C++是不一样的
告诉我,C语言的源文件后缀是什么?
tql 原来是这样。
谢谢您 {:10_256:} 人造人 发表于 2022-8-28 15:49
你学的是C语言还是C++ ?
C语言和C++是不一样的
告诉我,C语言的源文件后缀是什么?
请问一下这位大佬
我是学C,可不可以直接就用dev-C++编译后缀是.c的源文件,会出现问题吗?(dev...是否支持C语言,如果是的话,我就不下载其他C编译器了)
谢谢大佬{:10_254:} 额外减小 发表于 2022-8-28 23:58
请问一下这位大佬
我是学C,可不可以直接就用dev-C++编译后缀是.c的源文件,会出现问题吗?(dev...是否 ...
不会出问题 人造人 发表于 2022-8-29 00:01
不会出问题
谢谢大佬
页:
[1]