把字符常量赋值给指针和字符变量怎么区分,字符变量可以随意赋值,那把字符常量赋值给指针有啥用?char c='a'是常还是变

C语言复习&通过指针引用字符串
引用一个字符串的方法:
用字符指针变量指向一个字符串常量,通过字符指针变量引用字符串常量。
C语言对字符串常量按照字符数组处理,在内存中用一个字符数组来存放字符串常量,但这个字符数组没有名字,不能通过数组名引用,只能通过指针变量来引用。
字符指针变量指向字符串的第一个字符,只能指向一个字符类型数据。
通过字符数组名或字符指针变量可以输出一个字符串,对一个数值型数组,不能企图用数组名输出它的全部元素。
&int a[10];printf("%d\n",a) 输出的是数组首元素的地址。
void main(void)
char *string="I love china!\n";
char b[20],*p1;
for(;(*string)!='\0';string++,p1++)
printf("%s",b);
&字符指针做函数参数
如果想把一个字符串从一个函数传递到另一个函数,可以用地址传递的办法。用字符数组名做参数,也可以用字符指针变量做参数。在被调函数中可以改变字符串内容,在主调函数中引用改变后的字符串。
字符可以用ASCII代替 :char='a'&
char=97;& char ='\0'; char=0;
使用字符指针变量和字符数组的比较
1. 字符数组由若干个元素组成 ,每个元素放一个字符,字符指针变量存放的是地址(字符串第一个字符的地址)
2.可以对字符指针变量赋值,但不能对数组名赋值。因为数组名是地址常量,不能被赋值。
3.不能对字符数组全部元素整体赋值。char s[14]; s[]="I love china"; 错误 应该在定义的时候赋初值
char s[]="I love china";
4.编译时为字符数组分配若干单元,以存放各元素的的值,而对于字符指针变量,只分配一个存储单元。4个字节。
5.指针变量的值可以改变,而数组名代表一个固定的值(数组首元素地址),不能改变。
6.字符指针指向数组后。a[5]=*(a+5);
已投稿到:string这是一个指向char型的指针,能把一个字符串赋给它吗
作者:用户
浏览:451 次
string这是一个指向char型的指针,能把一个字符串赋给它吗char*String="ILoveA";//表示String指向常量字符串"ILoveA"的首地址,即String的内容是字符串的首地
string这是一个指向char型的指针,能把一个字符串赋给它吗
char *String = "I Love A";
//表示String指向常量字符串"I Love A"的首地址,即String的内容是字符串的首地址
解决方案二:
你那样写有问题的,你申明string为字符指针,string是一个指针,赋值只能是指针类型的值,但是你赋值的是一个字符串
解决方案三:
“I love xxx”表示的就是这个字符串的指针,所以赋值没问题。只是“I love xxx”这个字符串是个常量,所以后面不能对string[n]赋值。
解决方案四:
“I Love China”的首地址就是I的地址,所以也就是一个字符的地址,而string是字符指针
解决方案五:
我也觉的没啥问题,2楼怎么说有问题呢?
【云栖快讯】他,一路保送,但可能不是你想象中的学霸; 他,曾是微软最年轻的技术管理者,挑战带领跨国团队; 他,后来加入阿里,成为阿里西雅图分部的第22名员工;
他,就是阿里通用计算平台负责人关涛! 云栖社区通过短视频,为你揭晓他的成长和开发计算平台的经历,以及他对未来的展望!&&
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
开发者常用软件,超百款实用软件一站式提供定义:在一个双引号“ ”内的字符序列或者转义字符序列称为字符串常量
例如:“HI HI!” &“a” &“\n\t”
这些字符串常量是不能改变的,如果试图改变指针所指向的内容是错误的
因为字符串常量是存在静态内存区的,不可以改变
字符串变量,在c语言中没有纯粹的c语言字符串变量,可以通过一个字符数组来体现,这样就
可以对字符数组中的内容进行改变!
附一段代码,该代码将字符串进行分割:
#include&string.h&
#include&stdio.h&
#include&stdlib.h&
static char*
static char* sp_strsep(char **s, const char *del)
char *d, *
if (!s || !*s) return NULL;
d = strstr(tok, del);
*s = d + strlen(del);
*d = '\0';
*s = NULL;
int main()
char *ss=&chenwenshi&;
const char *dd=&wen&;
re=sp_strsep(&ss,dd);
printf(&ss=%s,dd=%s\n&,ss,dd);
printf(&%s\n&,re);
本文已收录于以下专栏:
相关文章推荐
今天用SPSS对一些数据进行主成分分析,SPSS 19.0进行主成分分析的方法是:分析——降维——因子分析,但是当导入一些变量的时候,就会弹出窗口说“列表中不允许存在字符串变量”,可以点击:视图——变...
c语言字符串变量赋值问题
23:29hold_myself | 分类:C/C++ | 浏览5159次
要实现类似于下面代码的addr赋值
string addr,sent...
C语言中,字符串可以赋值给字符指针变量,或者将字符串用字符数组保存。因为c语言没有直接对字符串提供语法糖方面的支持。而且C标准库很多方法处理字符串是以空字符结尾为前提的,这个必须要记住。char *p...
字符和字符串区别
‘a’和”a”的区别:C规定以字符’\0’作为字符串结束标志,’\0’是一个ASCII码为0的字符,它不会引起任何控制动作,也不是一个可显示的字符。字符串”a”实际包含2个字符:’...
char a[5]="hello";
char a[]="hello";
char* a="hello";
char a[10];
写代码的时候,发现对字符串常量改变的问题。网上找了一下资料,明白了
出处:http://blog.csdn.net/andylyc/archive//2046225.aspx...
字符串常量与字符串变量
C语言学习中的知识点,字符串指针和字符数组的区别,静态全局变量、静态局部变量、全局变量和局部变量的区别,
有错误的地方请大家指正!
以下程序用VC++6.0调试
先说说字符串指针和字符数组的区别
String 字符串常量
StringBuffer 字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)
简要的说, String 类型和 StringBuffer 类型的主...
一、在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)第一篇:字符常量字符型常量与变量
字符常量:一个字符常量代表 ASCII 字符集中的一个字符,在程序
中用单引号把一个字符括起来作为字符常量。例如’A’ ‘b’等都是合 法的字符常量。注意: 1、C 语言区分大小写:单引号中的大小写字母代表不同的字 符常量,例如’A’与’a’是不同的字符常量;2、单引号中的空格符也是 一个字符常量 3、 字符常量只能包括一个字符, 所以’ab’是非法的; 4、 字符常量只能用单引号括起来,不能用双引号。比如”a”不是一个字 符常量而是一个字符串。转义字符常量:转义字符又称反斜线字符,这些字符常量总是以一个 反斜线开头后跟一个特定的字符,用来代表某一个特定的 ASCII 字 符,这些字符常量也必须扩在一对单引号内。字符 \n \t \v \f \r \b \\ \’ \” 作用 换行 横向跳格 竖向跳格 换页 回车 退格(Backspace) 反斜杠(\) 单引号 双引号
\ddd \xhh \0
3 位八进制数 两位十六进制数 空值(ASCII 码值为 0)
注意:1:转义字符常量只代表一个字符,例如’\n’、’\101’; 2:反斜线后的八进制数可以不用 0 开头; 3:反斜线后的十六进制数只可由小写字母 x 开头,不能以大写 字母 X 或 0X 开头。字符串常量:字符串常量是由双引号括起来的一串字符。在 C 语言 中,字符串是用字符型一维数组来存放的。系统在每个字符串的末尾 自动加上一个字符’\0’作为字符串结束标志, ’\0’在这里占用存储空间 但不计入字符串的实际长度。两个连续的双引号(” ”)也是一个字符串 常量:称为空串,占一个字节,该字节用来存放’\0’。在 C 语言中,字符常量可以参与任何整数运算以及关系运算。字符变量: 语言中, C 字符变量是用关键字 char 来定义的, 例如: char a=’b’,字符变量在内存中占一个字节,当把一个字符放入字符变量中 时, 字符变量的值就是该字符的 ASCII 码值, 所以字符变量可以作为 整型变量来处理,可以参与任何整形变量的运算。
第一篇:字符常量第三章 数据输入与输出
C语言无I/O语句,I/O操作由函数实现 #include &stdio.h&
§3.1 数据输出
字符输出函数
格式: putchar( c ) 参数: c为字符常量、变量或表达式 功能:把字符c输出到显示器上 返值:正常,为显示的代码值;出错,为EOF(-1)
例 /*ch3_1.c*/ #include &stdio.h& main() {
c=65; a='B'; putchar(c); putchar('\n'); putchar(a); } 运行结果:A B
格式输出函数
格式:printf(“格式控制串”,输出表) 功能:按指定格式向显示器输出数据 返值:正常,返回输出字节数;出错,返回EOF(-1)
输出表:要输出的数据(可以没有,多个时以“,”分 隔) 格式控制串:包含两种信息 格式说明: %[修饰符]格式字符 ,用于指定输出格式
普通字符或转义序列:原样输出
格式字符:
d,i x,X o u c s e,E f g %%
十进制整数
int a=567;printf ( “%d”,a);
567 ff 101 567 A ABC 5. 567..789 %
十六进制无符号整数 int a=255;printf(“%x”,a); int a=65;printf(“%o”,a); 八进制无符号整数 不带符号十进制整数 int a=567;printf(“%u”,a); 单一字符
例 main() { 例 int a=3,b=4; unsigned int u=65535; int a=3,b=4; 字符串 printf(“%s”,“ABC”); printf(“%d %d\n”,a,b); printf(”u=%d\n&,u); printf(“%d %d\n”,a,b); float a=567.789;printf(“%e”,a); 指数形式浮点小数 printf(“a=%d , b=%d\n”,a,b); printf(“a=%d , b=%d\n”,a,b); “ ” } float a=567.789;printf(“%f”,a); 小数形式浮点小数 输出结果:u=-1 输出结果: 3 4 floata=3, b=4 a=567.789;printf(“%g”,a); e和f中较短一种
char a=65;printf(“%c”,a); 百分号本身 printf(“%%”);
11 11 11 11 11 11 格式字符要用小写 格式字符与输出项个数应相同,按先后顺序一一对应 输出转换:格式字符与输出项类型不一致,自动按指定格式 输出
附加格式说明符(修饰符) 修饰符 功 能 m 输出数据域宽,数据长度&m,左补空格;否则按实际输出 .n + 0 # l 对实数,指定小数点后位数(四舍五入) 对字符串,指定实际输出位数 输出数据在域内左对齐(缺省右对齐) 指定在有符号数的正数前显示正号(+) 输出数值时指定左面不使用的空位置自动填0 在八进制和十六进制数前显示前导0,0x 在d,o,x,u前,指定输出精度为long型 在e,f,g前,指定输出精度为double型
例 int a=1234; float f=123.456; char ch=‘a’; printf(“%8d,%2d\n”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f); printf(“%3c\n”,ch);
结果: 123..3.5,123.46,1.23e+02 a 例 static char a[]=“Hello,world!” printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a); 运行结果:Hello,world! Hello,world! Hello Hello Hel
例 例 int a=1234; float f=123.456; static char c[]=“Hello,world!”; printf(“%8d,%-8d\n”,a,a); printf(“%10.2f,%-10.1f\n”,f,f); printf(“%10.5s,%-10.3s\n”,c,c); 运行结果: 123.46,123.5 Hello,Hel
例 0 、+ 例 int a=1234; float f=123.456; printf(“%08d\n”,a); printf(“%010.2f\n”,f); printf(“%0+8d\n”,a); printf(“0+10.2f\n”,f); 例 # 例 int a=123; printf(“%o,%#o,%X,%#X\n”,a,a,a,a); //173,X7B
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00
// // //000+1234 //000+123.56
例 long a=65536; printf(“%d,%8ld\n”,a, a); //0, 65536
§3.2 数据输入
字符输入函数
格式:getchar( ) 功能:从键盘读一字符 返值:正常,返回读取的代码值;出错,返回EOF(-1) 例 /*ch3_4.c*/
#include &stdio.h& 运行结果: main() Enter a character:A? { A---&hex41 printf(&Enter a character:&); c=getchar(); printf(&%c---&hex%x\n&,c,c); }
格式输入函数
格式: scanf(“格式控制串”,地址表) 功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中,并按回车键结束 返值:正常,返回输入数据个数 地址表:变量的地址,常用取地址运算符& 格式字符:d,i,o,x,u,c,s,f,e
例 scanf(“%d”,&a); 输入:10 ? 则 a=10
例 scanf(“%x”,&a); 输入:11 ? 则 a=17
附加格式说明符(修饰符) 修饰符 功 能 h 用于d,o,x前,指定输入为short型整数 用于d,o,x前,指定输入为long型整数 l 用于e,f前,指定输入为double型实数 m * 指定输入数据宽度,遇空格或不可转换字符则结束 抑制符,指定输入项读入后不赋给变量
例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 例 scanf(“%3d%*4d%f”,&k,&f); 例 scanf(“%3c%2c”,&c1,&c2); 例 scanf(“%2d%*3d%2d”,&a,&b); 输入
? 输入 .43? 输入 abcde ? 输入 1234567? 则123?k, 8765.43?f 则1999?yy, 10 ?mm, 15 ?dd 则12?a, 67?b ?c2 则‘a’?c1, ‘d’
输入分隔符的指定 一般以空格、TAB或回车键作为分隔符 其它字符做分隔符:格式串中两个格式符间字符
例 scanf(“%d%o%x”,&a,&b,&c); 例例 scanf(“%d,%d”,&a,&b) scanf(“%d:%d:%d”,&h,&m,&s); printf(“a=%d,b=%d,c=%d\n”,a,b,c); 输入 12:30:45? 输入 3,4 ? 例 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 输入 则3?a,30 ?b 45 ?s 123 123 123? 则12 ?h, 4 ?m, 输入 a=12,b=24,c=36 ? 输出 a=123,b=83,c=291
说明: 用“%c”格式符时,空格和转义字符作为有 效字符输入 输入数据时,遇以下情况认为该数据结束: 如 scanf(“%c%c%c”,&c1,&c2,&c3); 遇空格、TAB、或回车 若输入abc? 遇宽度结束 则a?c1, ?c2, b ?c3 遇非法输入 例 如 scanf(“%d%c%f”,&a,&b,&c); 输入函数留下的“垃圾”:
例 若输入 ? 解决方法:
例 scanf(“%d”,&x);
?a, ‘a’ ?b, 123 ? 1234 (1)用getchar()清除 则 scanf(“ %c”,&ch); scanf(“%d”,&x); (2)用函数fflush(stdin)清除全部剩余内容 scanf(“%d”,&x); 或 scanf(“%*c%c”,&ch); ch=getchar(); (3) 用格式串中空格或“%*c”来“吃掉” scanf(“%c”,&ch); printf(“x=%d,ch=%d\n”,x,ch); printf(“x=%d,ch=%d\n”,x,ch); 执行:123? 执行:123? 输出:x=123,ch=10 输出:x=123,ch=10
§3.3 程序举例
例 输入三角形边长,求面积 /*ch3_12.c*/ #include &math.h& 文件包含预处理命令 #include &stdio.h& main() { float a,b,c,s, 变量定义 scanf(&%f,%f,%f&,&a,&b,&c); 输入数据 s=1.0/2*(a+b+c); 输出数据 area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(&a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n&,a,b,c,s); printf(&area=%7.2f\n&,area); } 输入:3,4,6 ? 输出:a= 3.00, b= area= 5.33 4.00, c= 6.00 s= 6.50
例 从键盘输入大写字母,用小写字母输出
/*ch3_13.c*/ #include &stdio.h& main() { char c1,c2; c1=getchar(); printf(&%c,%d\n&,c1,c1); c2=c1+32; printf(&%c,%d\n&,c2,c2); }
输入:A ? 输出:A,65 a,97
/*ch3_14.c*/ #include &stdio.h& #include &math.h& main() { float a,b,c,disc,x1,x2,p,q; scanf(&a=%f,b=%f,c=%f&,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2*a); q=sqrt(disc)/(2*a); x1=p+q; x2=p-q; printf(&\n\nx1=%5.2f\nx2=%5.2f\n&,x1,x2); } 输入:a=1,b=3,c=2 ? 输出:x1=-1.00 x2=-2.00
第一篇:字符常量字符串常量, 放在哪个存储区呢?是“自动存储区 还是 静态存储区 自动存储区”还是 静态存储区” 字符串常量, 放在哪个存储区呢? 自动存储区 还是“静态存储区 中?
char *pstr=&hello world!&; 这里,&hello world!&是一个字符串常量, pstr 是在栈中的变量。我想问,字符串常量,在哪个内存区域分配空间呢?
好像应该不是在“栈区“分配空间吧!! !
一、预备知识―程序的内存分配 一个由 C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。2、堆区(heap) ― 一般由程序员分配释放, 若程序员不释放,程序结束时可能由 OS 回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区) (static)―,全局变量和静态变量的存储是放在一块的,初始化的 全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另 一块区域。- 程序结束后由系统释放。4、文字常量区 ―常量字符串就是放在这里的。程序结束后由系统释放 5、程序代码区―存放函数体的二进制代码。
二、例子程序 这是一个前辈写的,非常详细 //main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区
main() { 栈 char s[] = &abc&; 栈 char *p2; 栈 char *p3 = &123456&;
在常量区,p3 在栈上。static int c =0; 全局(静态)初始化区 p1 = (char *)malloc(10); p2 = (char *)malloc(20); 分配得来得 10 和 20 字节的区域就在堆区。strcpy(p1, &123456&);
放在常量区,编译器可能会将它与 p3 所指向的&123456& 优化成一个地方。}
二、堆和栈的理论知识 2.1 申请方式 stack: 由系统自动分配。例如,声明在函数中一个局部变量 系统自动在栈中为 b 开辟空 间 heap: 需要程序员自己申请,并指明大小,在 c 中 malloc 函数 如 p1 = (char *)malloc(10); 在 C++中用 new 运算符 如 p2 = new char[10]; 但是注意 p1、p2 本身是在栈中的。
2.2 申请后系统的响应 栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢
出。堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时, 会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表 中删除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的 首地址处记录本次分配的大小,这样,代码中的 delete 语句才能正确的释放本内存空间。另外,由于找到的堆结点的大小不一定正好等于申请的大小,系统会自动的将多余的那部 分重新放入空闲链表中。
2.3 申请大小的限制 栈:在 Windows 下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意 思是栈顶的地址和栈的最大容量是系统预先规定好的,在 WINDOWS 下,栈的大小是 2M (也有 的说是 1M,总之是一个编译时就确定的常数) ,如果申请的空间超过栈的剩余空间时,将 提示 overflow。因此,能从栈获得的空间较小。堆:堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储 的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小 受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。
2.4 申请效率的比较: 栈由系统自动分配,速度较快。但程序员是无法控制的。堆是由 new 分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便. 另外,在 WINDOWS 下,最好的方式是用 VirtualAlloc 分配内存,他不是在堆,也不是在栈 是 直接在进程的地址空间中保留一块内存,虽然用起来最不方便。但是速度快,也最灵活。
2.5 堆和栈中的存储内容 栈: 在函数调用时,第一个进栈的是主函数中后的下一条指令(函数调用语句的下一条可 执行语句)的地址,然后是函数的各个参数,在大多数的 C 编译器中,参数是由右往左入
栈 的,然后是函数中的局部变量。注意静态变量是不入栈的。当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开始存的地 址,也就是主函数中的下一条指令,程序由该点继续运行。堆:一般是在堆的头部用一个字节存放堆的大小。堆中的具体内容由程序员安排。
2.6 存取效率的比较
char s1[] = &aaaaaaaaaaaaaaa&; char *s2 = &bbbbbbbbbbbbbbbbb&; aaaaaaaaaaa 是在运行时刻赋值的; 而 bbbbbbbbbbb 是在编译时就确定的; 但是,在以后的存取中,在栈上的数组比指针所指向的字符串(例如堆)快。比如: #include void main() { char a = 1; char c[] = &&; char *p =&&; a = c[1]; a = p[1];
} 对应的汇编代码 10: a = c[1]; A 4D F1 mov cl,byte ptr [ebp-0Fh]
4D FC mov byte ptr [ebp-4],cl 11: a = p[1]; B 55 EC mov edx,dword ptr [ebp-14h] A 42 01 mov al,byte ptr [edx+1]
45 FC mov byte ptr [ebp-4],al 第一种在读取时直接就把字符串中的元素读到寄存器 cl 中,而第二种则要先把指针值读到 edx 中,再根据 edx 读取字符,显然慢了。
2.7 小结: 堆和栈的区别可以用如下的比喻来看出: 使用栈就象我们去饭馆里吃饭,只管点菜(发出申请) 、付钱、和吃(使用) ,吃饱了就 走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自 由度小。使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由 度大。
《》出自:链接地址:/show/KHIx4NaDgkvtUzwN.html21ic官方微信-->
后使用快捷导航没有帐号?
请完成以下验证码
查看: 1179|回复: 4
结构体变量定义里面怎么定义常量字符串?
&&未结帖(20)
主题帖子积分
资深技术员, 积分 438, 距离下一级还需 62 积分
资深技术员, 积分 438, 距离下一级还需 62 积分
主题帖子积分
专家等级:结帖率:3%
主题帖子积分
资深技术员, 积分 438, 距离下一级还需 62 积分
资深技术员, 积分 438, 距离下一级还需 62 积分
想定义一个结构体,在里面包含字符串常量,怎么实现?
代码如下:
const char s_head[10]=&$GPGGA&;
unsigned int pos_1;
unsigned int pos_2;
}GPGGA_ITEM;
编译后提示报错:
error:&&#65: expected a &;&
请问问题在哪里?如何定义?
主题帖子积分
资深技术员, 积分 438, 距离下一级还需 62 积分
资深技术员, 积分 438, 距离下一级还需 62 积分
主题帖子积分
专家等级:结帖率:3%
主题帖子积分
资深技术员, 积分 438, 距离下一级还需 62 积分
资深技术员, 积分 438, 距离下一级还需 62 积分
求高人解答~~~
主题帖子积分
资深技术员, 积分 438, 距离下一级还需 62 积分
资深技术员, 积分 438, 距离下一级还需 62 积分
主题帖子积分
专家等级:结帖率:3%
主题帖子积分
资深技术员, 积分 438, 距离下一级还需 62 积分
资深技术员, 积分 438, 距离下一级还需 62 积分
看来是在定义结构体的时候不能对常量数据进行初始化?
主题帖子积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:79.20
主题帖子积分
本帖最后由 冰零分子 于
17:26 编辑
const char s_head[10];
unsigned int pos_1;
unsigned int pos_2;
}GPGGA_ITEM={“$GPGGA”,0,0};
主题帖子积分
高级技术员, 积分 870, 距离下一级还需 130 积分
高级技术员, 积分 870, 距离下一级还需 130 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
高级技术员, 积分 870, 距离下一级还需 130 积分
高级技术员, 积分 870, 距离下一级还需 130 积分
结构体其实是不能在定义里赋值,要想赋值得定义完后用GPGGA_ITEM去进行变量说明,那就可以赋值了
兴趣是开端,成就是积累的动力
时间类勋章
技术新星奖章
人才类勋章
技术奇才奖章
人才类勋章
突出贡献奖章
等级类勋章
时间类勋章
湍急之河流
发帖类勋章
热门推荐 /3

我要回帖

更多关于 把字符常量赋值给指针 的文章

 

随机推荐