Ⅰ c语言中,(p为一个指针),语句if(!p)是什么意思能给一个简单例子吗
!p意思就是 非p,
如果p的值为0,!p判定为真;
如果p的值不是0,!p的判定为假
现在一个指针,指针有内容,即:p的值不是0,!p的判定为假
如果指针没有内容,NULL,即:p的值为0,!p判定为真;
Ⅱ C语言 请问怎么判断一个指针是否是空的
不知道变量a是什么作用。我想可以增加可以增加一个变量length,表示当前数组的长度。比如下面这样。length的初值赋值为0。
structstru
{
charn[30];
inta;
};
intlength;
这样你每次插入一个新的元素的时候,就“当前数组的长度加一”。当然默认你的插入元素是从下标'0'开始的,并且是连续的。这样想找到一个空的位置进行插入时,就可以使用
p[length].n=...;
p[length].a=...;
length++;
这只是我个人的想法,希望对你有所帮助。
Ⅲ c语言中的if和指针
fun(char *a){ if(*a) // 判断a是否指向’\0’,即是否到了字符串末尾。 { fun(a+1); printf("%c",*a); }}/*fun是一个自定义函数,默认返回类型为int,形参为一个字符串,a指向其首地址。函数采用递归调用的方式实现将字符串逆序输出。*/</p>
Ⅳ if(NULL != p)和if( p!=NULL )在C语言中有什么区别 具体是什么意思!
if(NULL != p)和f(p != NULL)两者并没什么区别,都是判断指针p是否为空。
但是当考虑到出错检查时,if(NULL != p)写法更好,因为如果误写为if(NULL = p)的时候,编译器就会提示出错(因为常量不能被赋值);而if(p != NULL)如果误写为if(p = NULL),则编译器不会报错。
Ⅳ 在C语言中if(null)成立吗
NULL 在 C 语言中为一个宏,定义为:
#define NULL 0
所以 if( null ) 即为 if( 0 )
if( p ) 和 if( 0 ) 是完全不一样的:
if( p ) 是判断 p 是否为空,即 p 是否为NULL
if( 0 ) 返回的结果一定是 false
Ⅵ C语言 if用法
if(!l->next)
l是一指针,(!l->next)相当于
(!(l->next))l所指向的next的值如果是非零(感叹号表示非运算)或者非NULL,那整个表达是就是假,if后面的条件语句就不执行,否则执行
if(sel==1)就是简单的判断sel等不等于1,
等于1,if后面的条件语句执行,否则,不执行
Ⅶ 关于C语言的if语句
第一步:0x02000000看成一个很大的整数。
第二步:接着(int
*)0x02000000
则变成了一个指向存储着整型数的地址空间的指针,该地址空间的首地址是0x02000000
。
第三步:*(int
*)0x02000000
则是取第二步说的地址空间中的数据,该数是一个整数(具体不知道)。
第四步:(char
*)*(int
*)0x02000000
则是把第三步得出的整数用(char
*)强制类型转换成一个指向存储着char类型字符的地址空间的指针,该空间的首地址是第三步取得的整数。
到第四步的时候,当前的该指针指向的初始首地址是第三步取得的整数,
然后
经过((char
*)*(int
*)0x02000000)
=
(char
*)malloc(20)
;之后,
该指针重新被分配指向char类型的大小为20字节的空间,之后该指针指向该新空间的首地址。
Ⅷ C语言怎么判断一个文件为空
我这里有一种方法,不知能满足楼主的要求不?
FILE *pfile;
int filepos = 0;
pfile = fopen("test.txt", "r");
fseek(pfile, 0, SEEK_END);
filepos = ftell(pfile);
if(0 == pos)
{
puts("The file is null!");
}
else
{
puts("The file has some content!");
}
Ⅸ 如何判断一个字符串指针是否为空(C语言)
#include<stdio.h>
#include<stdlib.h>
void main()
{
char *str = (char*)malloc(sizeof(char)*10); //分配地址空间
gets(str); //输入
if(str[0]!='