C语言 单引号 双引号问题

时间:2022-07-20 04:49:31

C语言中的单引号和双引号含义迥异,用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值,因此,采用ASCII字符集的编译器而言,‘a’的含义与0141或97严格一致。而用双引号引起的字符串,代表的却是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为零的字符‘\0’初始化。

#include <stdio.h>
#include <stdlib.h> int main(int argc, const char *argv[]) {
struct stu {
int num;
char *name;
char gender;
float score;
} *ps;
ps = (struct stu*)malloc(sizeof(struct stu));
ps->num = ;
ps->name = 'peeeeeeee'; //双引号是全部引用字符串 单引号是引用ASC码
ps->gender = 'M';
ps->score = 62.2;
printf("%d %s", ps->num, ps->name);
printf("%c %f", ps->gender, ps->score);
free(ps);
return ;
}

编译报错,最开始没有注意,后来才想起C语言的单引号和双引号区别

aaarticlea/png;base64,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" alt="" />