c语言中出现“char #a”是什么意思
发布时间:2025-05-11 20:06:53 发布人:远客网络
一、c语言中出现“char *a”是什么意思
char*a是声明了一个指向char类型的指针变量;\r\n此时,a并没有被初始化,没有被指向任何数据;\r\n所以此时scanf("%s", a)是错误的,a此时只是一个空指针,而且你也不能向一个指针变量中存储非地址类型之外的数据;\r\n这就相当于:\r\n你要帮你朋友(char*a所指向的对象)买某一个类型的商品;\r\n这个商品名字叫“%s”;\r\n但是你却没告诉计算机怎么联系(char*a所指向的对象)\r\n\r\nchar*a="hello world";并不是原始写法,是一种简化写法,等同于:\r\nchar x[]="hello world";\r\nchar*a;\r\na= x;\r\n好处除了一句话干了三句话的事情之外,还少用了一个中间变量(数组名本身就是一个指针变量)\r\n\r\n此外,最原始的C,如果你写下:\r\nchar x[]="hello world";\r\nchar y[]="hello world";\r\nchar*a= x;\r\nchar*b= y;\r\n此时,a、b变量本身是独立开的,可区分的,但是他们所指向的内存地址却是一个,这是C语言的一个特性,在编译时,会将相同的字符串合并起来创建,以此来节省空间,以C为原型的一些语言,比如obj-c也保留了这个特性;
二、C语言中a*a是什么意思
1、!表示“非”,是一种逻辑运算。若a的真值为1,则!a为0;若a的真值为0,则!a为1。
2、拓展资料
逻辑运算是判断命题是否成立的运算,一共有三种,即逻辑非,逻辑与,逻辑或。逻辑表达式结果值为int型,命题成立值为1,否则为0。
3、逻辑运算是判断命题是否成立的运算,一共有三种,即逻辑非,逻辑与,逻辑或。逻辑表达式结果值为int型,命题成立值为1,否则为0。
4、值得注意的是,C语言中,在逻辑判断时,逻辑运算的操作数是0,被认为是假,操作数非0都认为是真,而不仅仅是1。三个逻辑运算符的真值表如下:
三、c语言中的 **是什么意思
1、在c语言中指针就是某变量的地址,那指针就是地址的地址。
2、可能这样还比较抽象,那举个现实中的例子吧:
3、你在一次聚会上见到一个美女C,你想认识她但是你不知道她的联系方式,你只认识你的朋友A,你朋友A认识该美女的闺蜜B。于是,你找你朋友A帮你问B,B那返回了美女C的联系方式。
4、(体会:要认识c,不是直接找存放有c地址的b直接要,因为你不认识b;而是先通过a联系上了b,相当于通过a要到了b的地址,再通过b要到了c的地址。也就是a那存放了b的地址,b那存放了c的地址,也就是a那存放了c的地址b的地址-》指针的指针)
5、变量b存放了c的地址,变量a又存放了b的地址,于是你想知道c的位置就先从a处获得b的地址,再由b获得c。
6、(a指向b,b指向c;a是c的2级指针)