小编sus*_*i33的帖子

检查指针是否已初始化的最佳方法

有没有办法检查指针是否已初始化?我有一个结构指针的结构

typedef struct foo
{
    int* ptr1;
    int* ptr2;
    int* ptr2;
    ...
    int* ptr100;
}
Run Code Online (Sandbox Code Playgroud)

然后我的代码将地址分配给那些指针(内部循环).但在分配地址之前,我想检查指针是否已包含地址.我知道我可以初始化每个指针,NULL然后检查:

if(ptr1 == NULL)
    do something
Run Code Online (Sandbox Code Playgroud)

但有没有办法写一些类似但没有初始化的东西ptr

c pointers

9
推荐指数
1
解决办法
7202
查看次数

为什么tolower()会影响其他字符串?

为什么这个程序的输出始终是:

example 

example
Run Code Online (Sandbox Code Playgroud)

如果我用for循环中的第二个更改第一行,那么输出将如下所示:

EXAMPLE

EXAMPLE
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

string key = "EXAmple";
string ukey = key; 
string lkey = key;

for (int i = 0; i < strlen(key); i++)
{
  ukey[i] = toupper(key[i]); 
  lkey[i] = tolower(key[i]);
}       

printf("%s\n", ukey);
printf("%s\n", lkey);
Run Code Online (Sandbox Code Playgroud)

c

1
推荐指数
1
解决办法
59
查看次数

标签 统计

c ×2

pointers ×1